*php商城系统 xml注入*
**页面样式*
*Xml原理参考:*
https://www.cnblogs.com/20175211lyz/p/11413335.html
*漏洞函数simplexml_load_string*
转换形式良好的 XML 字符串为 SimpleXMLElement 对象,然后输出对象的键和元素,说白了这个函数就是服务器接受客户端xml数据的关键函数。
*函数查找*
*直接在seay审计系统中全局查找该函数*
****发现****pe_getxml函数调用了漏洞函数
再次查找谁调用了pe_getxml
发现wechat_getxml文件调用了pe_getxml
再次查找谁调用了wechat_getxml函数
发现notify_url调用了wechat_getxml
*访问notify_url文件触发wechat_getxml函数,构造Paylod测试*
*此时在我d盘下写了一个1.txt文件*
漏洞触发
****Post提交数据触发调用到****pe_getxml函数里的php://input语句
然后再触发****simplexml_load_string****
*但是发现无回显,有三种情况*
1. *本身无回显(无echo)*
2. *payload错误*
3. *无漏洞*
*初步判断是第一种可能,所以尝试dnslog带外输出*
构造payload发包
发现存在数据,证实第一种可能
*尝试**外部引用实体dtd:*
将dtd文件和get1.php文件上传到vps上。
构造payload
发包
在vps上打开file.txt,漏洞利用成功。