[极客大挑战 2019]BuyFlag1

2023-12-15 18:13:05

打开网站:
在这里插入图片描述

右上角有个菜单 (menu) ,先点一下,然后就进入了 pay.php 页面。

其中关键信息如下:

## Flag

Flag need your 100000000 money

### attention

If you want to buy the FLAG:
 								You must be a student from CUIT!!!
 								You must be answer the correct password!!! 	 							

------

Only Cuit's students can buy the FLAG

一眼就觉得是要抓包改包,考的是 http 。

查看源码

money 要大于 100000000 ,身份要是 student,要来自 CUIT,要输入正确的密码。感觉还是少了点什么东西,对了,一定要记得查看源码:

在这里插入图片描述

这里暴露出的信息有:通过 POST 方式传参 money 和 password 。然后会对 password 参数值做一个过滤:

不能是数字,但是要通过弱比较

$password == 404
php 弱比较

php 在进行字符串与数字弱比较时,会强制把字符串转换为数字,而转换时会截取到第一个不是数字的字符前。

所以可以传入 password=404a 。

到这里信息就差不多了,抓个包看看:

在这里插入图片描述

修改 http 请求包可是 burpsuite 的专长呢:

1.将 GET 方式改成 POST 方式,只需要 burp 右键,选中 Change request method 标签即可。

2.添加 post 请求体的参数:

在这里插入图片描述

接下来看看,要是学生,我的第一想法是把 Cookie 中的键值对改成 user=student ,但是不成功,看了别人的 wp 才知道,这里要改成:user=1,因为原来的 0 代表不是学生,1 代表是咯。

原来的 from CUIT 我以为是修改 referer 请求头,但是将 user 的 0 改成 1 以后不用修改也能过:

所以目前构造出了这样的 http 请求包:

在这里插入图片描述

返回包中提示数字太长。可以使用科学记数法。

科学记数法

1亿 = 1e8 ,但是输入 money=1e8 会提示钱不够,明明够了,那我只好写 1e100 了:

在这里插入图片描述

文章来源:https://blog.csdn.net/m0_73612768/article/details/135019864
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。