### 简要描述:
20141231
### 详细说明:
phpyun使用了360和一个自身的防护脚本
我们来看看过滤情况
[<img src="https://images.seebug.org/upload/201501/16102451cf1b07dca7d416cab0d4fd1ed863c6ab.png" alt="8.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201501/16102451cf1b07dca7d416cab0d4fd1ed863c6ab.png)
这都是我们常用查询语句。出现这些语句就会结束,以及替换。
不过这里有个安全隐患就是
[<img src="https://images.seebug.org/upload/201501/1610273110afad83b0140194d7428b25ecad3fb2.png" alt="1.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201501/1610273110afad83b0140194d7428b25ecad3fb2.png)
sy_safekey安装默认为7854**222ffdss 这样会导致POST无过滤。
好了我们继续。
===============================================
\wap\member\model\index.class.php:200:addresume_action函数
[<img src="https://images.seebug.org/upload/201501/1610334739c409c255c06b093b4383591d8171a0.png" alt="4.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201501/1610334739c409c255c06b093b4383591d8171a0.png)
带入POST 表的一部分我们可控,这样我们能用0x来绕过防护脚本。继续看mysql数据操作
\model\class\action.class.php:521:update_once函数
[<img src="https://images.seebug.org/upload/201501/16103802680415119262594f992301ec0d1ce519.png" alt="5.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201501/16103802680415119262594f992301ec0d1ce519.png)
先把表的列查出,没法进入流程,难道要放弃。
幸好底下可以进入insert_into
\model\class\action.class.php:492:insert_into函数
[<img src="https://images.seebug.org/upload/201501/16104732f25619849d4105c36725f58c1ed34ae4.png" alt="6.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201501/16104732f25619849d4105c36725f58c1ed34ae4.png)
我们可以看到即使表没有查出,我们还是能进入插入操作。这样一来 我们就能插入resume_所有表的数据 我们使用0x更新来绕过防护脚本,造成2次注射。
==============================================
\member\user\model\likejob.class.php:12:index_action函数
[<img src="https://images.seebug.org/upload/201501/1610551550a1613754385970662a79d817c6836d.png" alt="9.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201501/1610551550a1613754385970662a79d817c6836d.png)
我们看到多表连接 resume_expect和resume 其中resume_expect的job_classid刚好我们可控,底下继续带入查询。由于job_classid限制100字符且,且逗号分割所以只能盲住了。由于语句真假所有必须phpyun_company_job 有数据随便发一条即可。附上测试脚本
### 漏洞证明:
[<img src="https://images.seebug.org/upload/201501/1611020526eb6106863adcde758eb6c9c18073ad.png" alt="10.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201501/1611020526eb6106863adcde758eb6c9c18073ad.png)
[<img src="https://images.seebug.org/upload/201501/16110414f98717b5a2f19f59b943ef769f6077c4.png" alt="11.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201501/16110414f98717b5a2f19f59b943ef769f6077c4.png)
SELECT id,name,three_cityid,edu,sex,marriage,report,exp,salary FROM `phpyun_company_job` WHERE `sdate`<'1421377343' and `edate`>'1421377343' and `state`='1' and (`job_post`='')||(SELECT SUBSTR(PASSWORD FROM 1 FOR 1)FROM phpyun_admin_user LIMIT 1)='2'#')
mysql日志
[<img src="https://images.seebug.org/upload/201501/16152945facbc4314e244a4eba30e40fefa70899.png" alt="100.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201501/16152945facbc4314e244a4eba30e40fefa70899.png)
暂无评论