在/phpcms9/phpcms/modules/message/index.php中有代码如下:
insert方法是key value的,代码如下:
嗯,很遗憾的是
中并没有对key做任何的过滤,所以,第一段提到的代码导致了一个SQL注射漏洞 :(。
到此,为了poc一下,我读取了我本地的authkey,接下来我已经可以重置任意用户密码了,后面的事情我就没有演示了。
读出了phpsso_server的appid和authkey,然后可以调用client.class.php中的ps_member_edit函数修改任意用户密码。

表单如下:用户名什么的得自己改一改。