2018安恒11月月赛
Contents
前言
第一次参加月赛,水了一波
Web
好黑的黑名单
根据提示,题目有黑名单,发现”吃面去吧”是个链接,点击如下图
发现有传参的地方,测试后有三种回显结果
id=1:陕西油泼面价格为20
id=2:想让我下面给你吃?
id=3:这么坏?想让我下面给你吃吗?XD
分析回显 1 为正常页面,回显2为id查询结果的回显,回显3是被黑名单检测到的回显
测试是什么类型的注入
初步测试可知:空格,单引号,双引号都被过滤
空格可以用‘%0a’代替
测试‘%0aand%0a1’,如下图
测试‘%0aand%0a0’如下图
初步得出结论,此处存在整形注入
构造payload
逻辑运算符都被过滤,而且like和regexp都无法使用的情况下
就需要一个小技巧,用‘between and’来代替逻辑运算符,在盲注中要注意一些细节
实际测试
第一个字符
第二个字符
依次可以测试出所有字符
payload:
?id=2 and (select (select database()) between ‘a’ and ‘z’)
但是黑名单还过滤了单引号,索引,’between and’支持16进制,所以改成16进制即可
?id=2 and (select (select database()) between 0x61 and 0x7a)
(也要把空格改为‘%0a’)
写一个爆破脚本
1 | import requests |