DVWA十大漏洞之<01>SQL注入演練(low)

1、設置把安全等級先調(diào)整為low虐秋,讓自己獲得點信心窍帝,免得一來就被打臉努潘。DVWA之SQL注入演練(low)


2、測試和分析頁面的功能這里有一個輸入框


根據(jù)上面的提示坤学,輸入用戶的id疯坤。然后我們輸入之后,發(fā)現(xiàn)它返回了關于這個user的信息深浮!這里我們輸入了“1”压怠。


它返回三行數(shù)據(jù),一行是我們輸入的用戶ID飞苇。一行是用戶名菌瘫,另外一行是用戶別名。同時布卡,看一下瀏覽器的地址欄那里雨让,發(fā)現(xiàn)url成這樣了


這里有個id=1,是不是就是我們輸入的user id呢忿等?再輸入“2”栖忠,發(fā)現(xiàn)url變成了


好了,到這里贸街,我們可以得出這里傳進去的id的值是我們可以控制的庵寞。我們在輸入框中輸入什么,就會通過id傳進去什么薛匪!
3捐川、對參數(shù)進行測試對id這個參數(shù)進行測試,查看一下它是否存在sql注入漏洞逸尖。我們在輸入框里面輸入“1'”古沥,注意1后面有一個單引號“'”。


發(fā)現(xiàn)這里報錯了冷溶,說我們的sql語句出現(xiàn)了語法錯誤渐白。我們可以進行這樣一個猜測:首先它這個id是被兩個“'”包住的。查詢語句可能是這樣的:

 select firstname,surname from users where id = '1';

當我們在1之后加一個引號逞频,則會導致單引號數(shù)目不平衡纯衍,那么查詢語句會變成這樣:

select firstname,surname from users where id = '1'';

可以看到最后一個引號沒被閉合,那我們該怎么辦呢苗胀?其實有好多種解決的辦法襟诸,下面就簡單介紹下瓦堵。
方法一:可以在原來的基礎上再繼續(xù)輸入一個引號,也就是“1''”歌亲。這時我們看一下查詢語句:

select firstname,surname from users where id = '1''';

在where語句中菇用,當出現(xiàn)多個字符串的時候,“=”將會選擇優(yōu)先級最高的一個陷揪,優(yōu)先級是從左到右惋鸥,依次降低的,也就是離“=”最近的一個悍缠。

看到了么卦绣,出來的結(jié)果還是和user_id=1一樣。
方法二:使用“#”符號來注釋后面的單引號飞蚓,到時查詢語句將會變成這樣:

select firstname,surname from users where id = '1'#';

方法三:使用“-- ”滤港。這里注意了“-- ”后面有一個空格。在url當中趴拧,我們可以使用“+”來代替“--”后面的空格溅漾。到時查詢語句將會變成這樣:

 select firstname,surname from users where id = '1'--+';

上面顯示出來的結(jié)果和輸入1時一樣。到這里我們就可以確定:漏洞的參數(shù)是“id”著榴。漏洞的類型是字符型添履。
4、構(gòu)造payload好了兄渺,在我們確認漏洞之后缝龄,就可以構(gòu)造payload了。什么是payload挂谍?說白了就是一段惡意代碼,以便我們能夠獲得數(shù)據(jù)庫里面的數(shù)據(jù)瞎饲。
4.1 分析字段數(shù)分析字段數(shù)的話口叙,也是有兩種方法。
方法一:用order by 語句嗅战。分析字段數(shù)的原因是我們之后需要用union select語句來獲得我們需要的敏感數(shù)據(jù)妄田。根據(jù)order by知識知道,要是后面跟著的數(shù)字超出了字段數(shù)時驮捍,就會報錯疟呐!通過這個我們可以確定字段數(shù)。我們構(gòu)造的payload如下:

1' order by 1#
1' order by 2#
1' order by 3#

當輸入到3的時候东且,發(fā)現(xiàn)它報錯了启具,也就是說字段數(shù)為2。
方法二:直接用union select來猜測字段數(shù)珊泳。因為當字段數(shù)不對應的時候鲁冯,它也是會發(fā)生報錯的拷沸!我們構(gòu)造以下查詢語句:

1' union select 1#
1' union select 1,2# 
1' union select 1,2,3#

可以發(fā)現(xiàn),當union select 1,2,3的時候報錯薯演,union select 1,2的時候沒有報錯撞芍,也就是說字段數(shù)為2。同時跨扮,我們也注意到序无,好像返回的內(nèi)容中多了三條數(shù)據(jù),這是啥呢衡创?其實這就是我們union select出來的數(shù)據(jù)帝嗡。這樣通過查看頁面,我們便可以獲得數(shù)據(jù)庫里面的信息了钧汹!
4.2 獲取信息字段數(shù)為2丈探,說明數(shù)據(jù)列有兩列。我們可以通過union select語句查出兩個數(shù)據(jù)拔莱。好了碗降,我們來獲取所需要的數(shù)據(jù)庫里面的信息吧!
4.2.1 獲取當前數(shù)據(jù)庫名塘秦,當前用戶名構(gòu)造數(shù)據(jù)庫查詢語句如下所示:

 1' union select database(),user()#

解釋一下讼渊,database()將會返回當前網(wǎng)站所使用的數(shù)據(jù)庫名字,user()將會返回進行當前查詢的用戶名尊剔。


好的爪幻,我們可以看到當前使用的數(shù)據(jù)庫為:dvwa,當前的用戶名:root@localhost须误。
有時候挨稿,后面的select語句會限制輸出的行數(shù),一般來說京痢,都會讓原數(shù)據(jù)庫查詢無效奶甘,也就是輸入無效的id,使得原數(shù)據(jù)庫查詢不反回結(jié)果祭椰。如下操作:

 -1' union select database(),user()#

這樣就只會返回我們需要的數(shù)據(jù)了臭家。類似的函數(shù)還有:version() 獲取當前數(shù)據(jù)庫版本,@@version_compile_os獲取當前操作系統(tǒng)。

  -1' union select version(),@@version_compile_os#

數(shù)據(jù)庫版本高于5.0就可以爆庫了方淤,下面會具體講解钉赁。

4.2.2 獲取當前的用戶表根據(jù)上面的信息,我們知道當前數(shù)據(jù)庫名為dvwa携茂,可是還不夠呀你踩,表名是什么?內(nèi)容又是什么?是不是打算放棄了姓蜂?先吃根辣條冷靜一下吧按厘。
想想看,當你有不懂的字會怎么辦呢钱慢?不要動不動就去百度逮京,除了問度娘,還能怎么做呢束莫?對了懒棉,查字典。那么mysql有沒有類似于字典的東西呢览绿?答案是肯定的策严,就是information_schema,這是一個包含了mysql數(shù)據(jù)庫所有信息的“字典”饿敲,本質(zhì)上還是一個database妻导,存放著其他各個數(shù)據(jù)的信息。
在information_schema里怀各,有一個表tables倔韭。有一個columns……是不是有點感覺了? tables這個表存放的是關于數(shù)據(jù)庫中所有表的信息瓢对,里面有個字段叫table_name寿酌,還有個字段叫做table_schema。其中table_name是表名硕蛹,table_schema表示的是這個表所在的數(shù)據(jù)庫醇疼。對于columns,它有column_name法焰,table_schema秧荆,table_name“R牵回想一下辰如,我們擁有的信息是數(shù)據(jù)庫名。也就是說我們可以構(gòu)造這樣的payload來從數(shù)據(jù)庫里獲取一些東西贵试。
好的,構(gòu)造的查詢語句如下:

  -1' union select table_name,2 from information_schema.tables where table_schema= 'dvwa'#

爆出來兩個表凯正,對那個感興趣呢毙玻??廊散?當然是users表啦桑滩!不是說還有一個columns表么?所以我們還需要table_name以及table_schema來查column_name允睹。這次我們構(gòu)造的payload如下:

   -1' union select column_name,2 from information_schema.columns where table_schema= 'dvwa' and table_name= 'users'#

這里簡單說一下运准,倘若不指定數(shù)據(jù)庫名為'dvwa'幌氮,若是其他數(shù)據(jù)里面也存在users表的話,則會出現(xiàn)很多混淆的數(shù)據(jù)胁澳。當然该互,在這里直接使用下面的語句也是可以成功的。

 -1' union select column_name,2 from information_schema.columns where table_name='users'#

跟上一條結(jié)果一樣吧韭畸?
又來了宇智,這么多數(shù)據(jù),選哪個呢胰丁?随橘??廢話锦庸,當然是user机蔗,password啦。我們再次修改payload:

 -1' union select user,password from users#

Binggo甘萧!我們爆出所有的用戶名和密碼值萝嘁!等等,這密碼好像有點奇葩幔嗦,數(shù)一數(shù)酿愧,32位!好吧邀泉,是經(jīng)過md5加密的嬉挡。好不容易爆出管理員賬號和密碼,但是密碼卻加密汇恤,這就沒有辦法了嗎庞钢?不一定!我們需要找一些破解md5值的網(wǎng)站來進行破解因谎!直接百度“CMD5”基括,然后選擇一個網(wǎng)站進去破解就可以了。
我們選擇admin這個來進行破解财岔,md5密文為:21232f297a57a5a743894a0e4a801fc3风皿。


可以看到密碼已經(jīng)被破解出來了,密碼是“admin”,好的匠璧,我們來驗證一下桐款!


看,這個時候我們已經(jīng)成功登陸了夷恍!


好的魔眨,簡單的SQL注入就說到這兒了

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子遏暴,更是在濱河造成了極大的恐慌侄刽,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,590評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件朋凉,死亡現(xiàn)場離奇詭異州丹,居然都是意外死亡,警方通過查閱死者的電腦和手機侥啤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評論 3 399
  • 文/潘曉璐 我一進店門当叭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人盖灸,你說我怎么就攤上這事蚁鳖。” “怎么了赁炎?”我有些...
    開封第一講書人閱讀 169,301評論 0 362
  • 文/不壞的土叔 我叫張陵醉箕,是天一觀的道長。 經(jīng)常有香客問我徙垫,道長讥裤,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,078評論 1 300
  • 正文 為了忘掉前任姻报,我火速辦了婚禮己英,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘吴旋。我一直安慰自己损肛,他們只是感情好,可當我...
    茶點故事閱讀 69,082評論 6 398
  • 文/花漫 我一把揭開白布荣瑟。 她就那樣靜靜地躺著治拿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪笆焰。 梳的紋絲不亂的頭發(fā)上劫谅,一...
    開封第一講書人閱讀 52,682評論 1 312
  • 那天,我揣著相機與錄音嚷掠,去河邊找鬼捏检。 笑死,一個胖子當著我的面吹牛不皆,可吹牛的內(nèi)容都是我干的未檩。 我是一名探鬼主播,決...
    沈念sama閱讀 41,155評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼粟焊,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起项棠,我...
    開封第一講書人閱讀 40,098評論 0 277
  • 序言:老撾萬榮一對情侶失蹤悲雳,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后香追,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體合瓢,經(jīng)...
    沈念sama閱讀 46,638評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,701評論 3 342
  • 正文 我和宋清朗相戀三年透典,在試婚紗的時候發(fā)現(xiàn)自己被綠了晴楔。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,852評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡峭咒,死狀恐怖税弃,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情凑队,我是刑警寧澤则果,帶...
    沈念sama閱讀 36,520評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站漩氨,受9級特大地震影響西壮,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜叫惊,卻給世界環(huán)境...
    茶點故事閱讀 42,181評論 3 335
  • 文/蒙蒙 一款青、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧霍狰,春花似錦抡草、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至步悠,卻和暖如春签杈,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背鼎兽。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評論 1 274
  • 我被黑心中介騙來泰國打工答姥, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人谚咬。 一個月前我還...
    沈念sama閱讀 49,279評論 3 379
  • 正文 我出身青樓鹦付,卻偏偏與公主長得像,于是被迫代替她去往敵國和親择卦。 傳聞我的和親對象是個殘疾皇子敲长,可洞房花燭夜當晚...
    茶點故事閱讀 45,851評論 2 361

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