ctfshow 吃瓜杯 shellme_Revenge
前两天做的ctfshow的吃瓜杯的题目,做一个记录。
开始
打开题目看到的是phpinfo的页面
然后往下一划艹
这可真是吓了一跳,这么多disable_functions函数
不过也是有惊喜的
cookie里面看到了提示。
然后打开看见了源码
1 |
|
这个正则真是绝了,md没有符号了都。
测试一下还有什么符号
1 |
|
还有几个残留的
1 | $ ( ) + , - . / 0 1 2 3 ; < = > ? C [ ] _ { } |
一看就是无数字、字母、符号的rce绕过了
然后看了一圈之前的笔记
1 | 常用绕过基本都没有戏了 |
然后又是一直没有什么结果。其实是想到只能是自增的方法拼凑字母的但是无奈没有理解自增的奥秘,一直没有拼出来还是错误的。
直到看到一篇文章
1 | https://f5.pm/go-29700.html |
下图来自php官方手册
自增不只是能增数字还能增字符
然后还是没有写出来。
直到这个wp出来
1 | 真是自己做的时候想来想起 |
上wp
1 | $_=C;$_++;$C=++$_;$_++;$C_=++$_;$_=(C/C.C){0};$_++;$_++;$_++;$_++;$_++;$_=_.$C_.$C.++$_;($$_{1})($$_{2}); |
解析
1 | $_=C; //C |
解释N的来源
解释:
2
这个小技巧我们不知道的话,我们可以用挨个自增的办法也是行的通的。
1 | $_=C; //C |
解释
自增出来以后我们就可以进行上传了。
小tips
1 | 这里需要注意的是使用自增的方法的时候我们传参的时候需要先进行url的编码。 |
测试结果post
测试结果get
然后上传上去我们就能够执行命令了。
但是后面还有一点就是前面我们发现的phpinfo中有很多的过滤函数。我们没有办法执行系统的命令,
但是作者还是给我们留下了方法。
passthru函数并没有过滤
然后就能自由自在的执行命令了。
然后还可以直接的连马
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 like4h!