上次说了chinabank 把剩下的几个文件都报出来把。
主要是通过验证的问题。 执行语句的时候会转义得找没单引号的地方。
一些我没办法通过那验证,
还有一些就是把amount/100了 例如bill/return.php中的
$v_amount = ($orderAmount/100);
这个我也没办法利用了。
把能利用的写出来一下。
0x01 order/sdopay/notify.php
这里 主要是让 $ok 为 1
首先让signtype为2
mac2 $signString | $md5key 这里md5key默认都为空的 不用考虑。
$mac为post来的 只要$mac和$mac2相等 就能让$ok为1
这里$amount 做的$money 可以看到没有被单引号 没有intval。
而且直接update的是user table 。 且可控的是在set位。。
管理和用户都是在user表里。 通过manager column 来判断是否为管理。
这里直接update manager 为1 就能直接提升自己为管理。
_________________________________________________________________________
0x02 order/gopay/return.php
这里验证了
$newSign == $signValue && $respCode == '0000'
$newSign 又是Md5来的。 所以能通过验证了。。
ZFlow::CreateFromCharge($tranAmt 然后又进这函数 不多说了。
_________________________________________________________________