### 简要描述:
过滤不严。
### 详细说明:
在user/user_pms.php中
```
elseif($act=="add_save")
{
$setsqlarr['msgtype']=2;
$setsqlarr['msgfrom']=trim($_SESSION['username']);
$setsqlarr['msgfromuid']=intval($_SESSION['uid']);
$toname=trim($_GET['toname']);
$setsqlarr['message']=trim($_GET['msg']);
if (strcasecmp(QISHI_DBCHARSET,"utf8")!=0)
{
$toname=iconv("utf-8",QISHI_DBCHARSET,$toname);
$setsqlarr['message']=iconv("utf-8",QISHI_DBCHARSET,$setsqlarr['message']);
}
$msgtouser= $db->getone("select * from ".table('members')." where username = '{$toname}' LIMIT 1");
```
虽然会转义 但是会转成gbk 所以就无视啦。
怎么来回显数据呢?
注册两个账户 然后给另外一个uid发送消息。
就可以拿到信息了。
### 漏洞证明:
[<img src="https://images.seebug.org/upload/201403/2921094725be051d3539e603d7b7ab7303df9be1.jpg" alt="7 1.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201403/2921094725be051d3539e603d7b7ab7303df9be1.jpg)
首先给另外一个号发送消息 然后登录另外一个号 查看消息。
[<img src="https://images.seebug.org/upload/201403/292110372a1b274b4211c6b8f5cfa44e4936812a.jpg" alt="7 2.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201403/292110372a1b274b4211c6b8f5cfa44e4936812a.jpg)
注入成功 有图有真相。
暂无评论