BUUCTF——[极客大挑战 2019]BuyFlag

文章目录

  • 利用点
  • 解题

利用点

  • 字符串绕过is_numeric()
  • 科学计数法
  • HTTP请求头

解题

进入环境,找到pay.php,查看源码发现注释

BUUCTF——[极客大挑战 2019]BuyFlag_第1张图片

要POST参数money和password,这里对password进行了is_numeric(),常规套路用数字字符串绕过,即404a

另一个参数money可从主页上获得,是1000000000

BUUCTF——[极客大挑战 2019]BuyFlag_第2张图片

这里还有提示,要验证password、money、身份才能获得flag,还差最后一个身份

身份这个参数很是模棱两可,不知道是值/字符串,可能是XFF、Refer、Cookie之类的参数,应该是在包内

抓个包看看,果然,身份验证是个布尔值在Cookie中

BUUCTF——[极客大挑战 2019]BuyFlag_第3张图片

因此:使用hackbar构造POST包,password=404a&money=1000000000, Cookie: user=1

都符合条件了,此时又提示数字长度太长,发现是10的9次方,直接用科学计数法1e9代替

BUUCTF——[极客大挑战 2019]BuyFlag_第4张图片
修改一下,最后拿到了flag

BUUCTF——[极客大挑战 2019]BuyFlag_第5张图片

你可能感兴趣的:(#,Web,BUUCTF,web安全,is_numeric绕过,HTTP请求,php)