### 简要描述:
Sql Injection
### 详细说明:
注入在XDCMS企业管理系统后台的关键词管理处,\system\modules\xdcms\keywords.php文件:
当我们添加或者编辑关键词时会调用addsave()和editsave()函数,4个注入点就出现在这两个函数里:
addsave()函数:
```
public function addsave(){
$title=safe_html($_POST['title']);//注入点1,可大写绕过
$url=$_POST['url'];//注入点2,没过滤
if(empty($title)||empty($url)){
showmsg(C('material_not_complete'),'-1');
}
$this->mysql->db_insert('keywords',"`title`='".$title."',`url`='".$url."'");
$this->keywords_cache();
showmsg(C('add_success'),'index.php?m=xdcms&c=keywords');
}
```
editsave()函数:
```
public function editsave(){
$id=isset($_POST['id'])?intval($_POST['id']):0;
$title=safe_html($_POST['title']);//注入点3,可绕过
$url=$_POST['url'];//注入点4
if(empty($title)||empty($url)||empty($id)){
showmsg(C('material_not_complete'),'-1');
}
$this->mysql->db_update('keywords',"`title`='".$title."',`url`='".$url."'",'`id`='.$id);
$this->keywords_cache();
showmsg(C('update_success'),'-1');
}
```
### 漏洞证明:
添加关键词:
[<img src="https://images.seebug.org/upload/201402/2221392952e8e83d06159088b6d1743169435850.jpg" alt="key.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201402/2221392952e8e83d06159088b6d1743169435850.jpg)
加exp:
[<img src="https://images.seebug.org/upload/201402/222139495e85274a71cccb706190ee899da8adcd.jpg" alt="key1.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201402/222139495e85274a71cccb706190ee899da8adcd.jpg)
成功:
[<img src="https://images.seebug.org/upload/201402/2221400575b402e5c19243053fd7db252d992db6.jpg" alt="key2.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201402/2221400575b402e5c19243053fd7db252d992db6.jpg)
暂无评论