1.首先定位到漏洞文件app/controllers/user/pay.php。
2.$out_trade_no来源于 $out_trade_no = $this->input->get_post('out_trade_no', TRUE); 继续跟踪,
3.由于CSDJCMS把get_post()函数的第二个参数设置为了TRUE,那就是要进行一个xss_clean的操作。继续跟踪
4.这里对str有一个urldecode的操作,所以可以进行二次编码,构造payload。但是这里有一个验证过程
5,。本来无计可施,但是CSDJCMS很友好的给我们提供了一个只要输入错误的sign,程序会告诉我们正确的sign是多少。
6.本地构造好payload,见测试代码。