[WUSTCTF2020]朴实无华

文章讲述了如何通过解决网站安全测试中的层层加密,利用intval函数的特性(科学计数法)绕过限制,以及MD5要求与自身相等的条件,最终通过替换字符获取flag的过程。
摘要由CSDN通过智能技术生成

e7da2c9eecd241e8ad68c2c82dcbcc41.png

先直接访问index.php无效,然后发现界面有类似robots.txt的目录存在

5789c5dd0f3e4acdbe0db5a4f92ace0c.png

6e1d76b9a0324ac3a7c4ff2b5ddc4a4a.png

说是假的flag,但是robots.txt的hint有新的目录fl4g.php

272abf00edb9420cb48c2b3b45bb28f0.png

358966b695ec41eaa9d455b54201acd1.png

分为三层,中间有些乱码不重要

第一层:

2c8ebfaf30ee4b838db9e7c35c0f955a.png

传入num,在intval函数里面数字需要小于2020,但是加1之后要比2021大。似乎不行,但是intval函数有一个绕过方式就是利用科学计数法111e3,intval函数里面只会显示111,但是科学计数法加1之后会先执行加法

01cb1ddb9aa74342b57db88487fada15.png

然后是第二层

f9c39e96265045739345de30d74a3e18.png

传入的MD5参数需要等于MD5之后本身,我们知道0e开头的字符串就可以做到(0e215962017)最后一层

dd6909e185af4e41ac54c569e2763007.png

最后一个get_flag传参,但是参数里面不能有空格和cat。我们先ls看目录

1458d4593de24eefb5c5f1663c1b7cb3.png

这就出来了,空格可以用$IFS$9替换,然后cat用tac替换

最终payload:?num=111e3&md5=0e215962017&get_flag=tac$IFS$9fllllllllllllllllllllllllllllllllllllllllaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaag

 

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值