重新看了下91736之前那个getip的 漏洞 已经补上了.
漏洞文件:system/modules/member/index.php
public function edit(){
if(empty($_COOKIE['member_user'])||empty($_COOKIE['member_userid'])){
showmsg(C("admin_not_exist"),"index.php?m=member&f=login");
}
$userid=$_COOKIE['member_userid'];
$info=$this-> mysql ->get_one("select * from ".DB_PRE."member where `userid`=$userid");//漏洞就在此处,$userid没过滤直接入库查询.
$input=base::load_class('input');
$field=base::load_cache("cache_field_member","_field");
$fields="";
foreach($field as $value){
$fields.="<tr>n";
$fields.="<td align="right">".$value['name']."£o</td>n";
$fields.="<td>".$input->$value['formtype']($value['field'],$info[$value['field']],$value['width'],$value['height'],$value['initial'])." ".$value['explain']."</td>n";
$fields.="</tr>n";
}
assign('member',$info);
assign("fields",$fields);
template("member/edit");
}
其实还有个function edit_save也有同样的漏洞,同理,不过是个update的注射
方法想必大家都会,我用火狐的插件edit cookies来为大家演示下:
function edit: HdhCmsTest2cto测试数据
这样账户被密码就被注射出来了:
function edit_save:
查看更多关于91736cms cookies注入漏洞 - 网站安全 - 自学php的详细内容...