Sqli-Labs_Lesson_1 Get - Error based - Single quotes - String

Sqli-Labs 是一個印度人的開源項目平臺挠他。里面包含了基本的各種注入類型女阀,同時又有g(shù)et和post類型湖员,以及一些基本的繞過學習漠其。

項目地址:https://github.com/Audi-1/sqli-labs



Lesson-1 #Get - Error based - Single quotes - String (基于錯誤的GET單引號字符型注入)

運行測試環(huán)境:http://localhost/sqli-labs-master/Less-1/

輸入ID參數(shù)1:http://localhost/sqli-labs-master/Less-1/?id=1嘴高,返回正常,繼續(xù)測試陸續(xù)輸入2和屎,3拴驮,4,5柴信,6....,均返回正常套啤,而且隨著參數(shù)ID值的改變,頁面返回的name和Password的值也會出現(xiàn)不同


根據(jù)上面情況随常,推測出數(shù)據(jù)庫操作指令:

SELECT name,Password FROM TABLE WHERE ID=INPUT_ID

試著來讓其報錯潜沦,報錯的方法通常有 單引號 and1=1 and 1=2 雙引號 反斜杠 注釋 等等

我輸入單引號進行測試:

http://localhost/sqli-labs-master/Less-1/?id=1%27

網(wǎng)站報出錯誤信息:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''1'' LIMIT 0,1' at line 1


根據(jù)報錯信息可以推測出更加詳細的SQL語句:

由錯誤提示【'??? '??? 1'??? '???? LIMIT 0,1??? '】推測的SQL語句存在單引號

SELECT name,Password FROM TABLE WHERE ID='$ID'

發(fā)現(xiàn)報了SQL語句的語法錯誤,應該存在SQL注入绪氛,由于沒有過濾單引號唆鸡,我們可以通過閉合單引號來構(gòu)造payload:

利用order by測試數(shù)據(jù)庫中的列數(shù):

http://localhost/sqli-labs-master/Less-1/?id=1' order by 3 #

發(fā)現(xiàn)當3的時候不報錯,4的時候報錯枣察,知道數(shù)據(jù)庫表中有三個字段


直接使用UNION語句聯(lián)合查詢争占,但是發(fā)現(xiàn)只出現(xiàn)一行?序目!

http://localhost/sqli-labs-master/Less-1/?id=1' union select 1,2,3 #

So臂痕,查看網(wǎng)站源代碼:


源碼中mysql_fetch_array()被調(diào)用了一次,mysql_fetch_array()函數(shù)從結(jié)果集合中取出一行數(shù)據(jù)輸出猿涨,導致不管怎么查詢只能查詢第一行數(shù)據(jù)握童。

mysql_fetch_array(data,array_type)

data:可選。規(guī)定要使用的數(shù)據(jù)指針叛赚。該數(shù)據(jù)指針是 mysql_query() 函數(shù)產(chǎn)生的結(jié)果澡绩。

array_type:可選片效。規(guī)定返回哪種結(jié)果∮⒐牛可能的值:

??? MYSQL_ASSOC - 關(guān)聯(lián)數(shù)組

??? MYSQL_NUM - 數(shù)字數(shù)組

??? MYSQL_BOTH - 默認淀衣。同時產(chǎn)生關(guān)聯(lián)和數(shù)字數(shù)組

如果我傳入的ID值為非負數(shù)(負數(shù)或者0),浮點數(shù)字符或者字符串呢召调?

看到只有第二列和第三列的結(jié)果顯示在網(wǎng)頁上膨桥。

那我們就根據(jù)第二列或者第三列來查詢數(shù)據(jù)庫的信息:

user():返回當前數(shù)據(jù)庫連接使用的用戶

database():返回當前數(shù)據(jù)庫連接使用的數(shù)據(jù)庫

version():返回當前數(shù)據(jù)庫的版本

http://localhost/sqli-labs-master/Less-1/?id=0'union select 1,version(),3#

也可以使用數(shù)據(jù)庫的連接函數(shù)來查詢多條信息,常用concat和concat_ws函數(shù)


char碼值對應列表(附)

Char("32") 空格 SPACE???????????? Char("33") !????????????????????? Char("34")

"Char("35") #??????????????????????????????? Char("36") $???????????????????? Char("37") %

Char("38") &???????????????????????????????? Char("39") ’?????????????????????? Char("40") (

Char("41") )?????????????????????????????????? Char("42") *????????????????????? Char("43") +

Char("44") ,?????????????????????????????????? Char("45") -?????????????????????? Char("46") .

Char("47") /?????????????????????????????????? Char("58") :?????????????????????? Char("59");

Char("60") <????????????????????????????????? Char("61") =????????????????????? Char("62")>

Char("63") ??????????????????????????????????? Char("64") @

CONCAT()函數(shù)用于將多個字符串連接成一個字符串

CONCAT(str1,str2,…)

返回結(jié)果為連接參數(shù)產(chǎn)生的字符串唠叛。如有任何一個參數(shù)為NULL 只嚣,則返回值為 NULL。

如果所有參數(shù)均為非二進制字符串艺沼,則結(jié)果為非二進制字符串册舞。

如果自變量中含有任一二進制字符串,則結(jié)果為一個二進制字符串障般。

一個數(shù)字參數(shù)被轉(zhuǎn)化為與之相等的二進制字符串格式调鲸;若要避免這種情況,可使用顯式類型 cast挽荡。

查詢users表中的列名:

查詢users表中的列名

寫一個獲取用戶名和密碼的腳本(基于POCsuite):

POC腳本


驗證測試(爆出用戶名密碼):

爆出用戶名密碼

最后用注入神器SQLMAP來驗證一下藐石,結(jié)果如下:

SQLMAP驗證結(jié)果

SQL Injection:就是通過把SQL命令插入到Web表單遞交或輸入域名或頁面請求的查詢字符串,最終達到欺騙服務器執(zhí)行惡意的SQL命令定拟。

具體來說于微,它是利用現(xiàn)有應用程序,將(惡意)的SQL命令注入到后臺數(shù)據(jù)庫引擎執(zhí)行的能力青自,它可以通過在Web表單中輸入(惡意)SQL語句得到一個存在安全漏洞的網(wǎng)站上的數(shù)據(jù)庫株依,而不是按照設計者意圖去執(zhí)行SQL語句。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末延窜,一起剝皮案震驚了整個濱河市恋腕,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌需曾,老刑警劉巖吗坚,帶你破解...
    沈念sama閱讀 219,110評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件祈远,死亡現(xiàn)場離奇詭異呆万,居然都是意外死亡,警方通過查閱死者的電腦和手機车份,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評論 3 395
  • 文/潘曉璐 我一進店門谋减,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人扫沼,你說我怎么就攤上這事出爹∽穑” “怎么了?”我有些...
    開封第一講書人閱讀 165,474評論 0 356
  • 文/不壞的土叔 我叫張陵严就,是天一觀的道長总寻。 經(jīng)常有香客問我,道長梢为,這世上最難降的妖魔是什么渐行? 我笑而不...
    開封第一講書人閱讀 58,881評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮铸董,結(jié)果婚禮上祟印,老公的妹妹穿的比我還像新娘。我一直安慰自己粟害,他們只是感情好蕴忆,可當我...
    茶點故事閱讀 67,902評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著悲幅,像睡著了一般套鹅。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上汰具,一...
    開封第一講書人閱讀 51,698評論 1 305
  • 那天芋哭,我揣著相機與錄音,去河邊找鬼郁副。 笑死减牺,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的存谎。 我是一名探鬼主播拔疚,決...
    沈念sama閱讀 40,418評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼既荚!你這毒婦竟也來了稚失?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,332評論 0 276
  • 序言:老撾萬榮一對情侶失蹤恰聘,失蹤者是張志新(化名)和其女友劉穎句各,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體晴叨,經(jīng)...
    沈念sama閱讀 45,796評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡凿宾,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,968評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了兼蕊。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片初厚。...
    茶點故事閱讀 40,110評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖孙技,靈堂內(nèi)的尸體忽然破棺而出产禾,到底是詐尸還是另有隱情排作,我是刑警寧澤,帶...
    沈念sama閱讀 35,792評論 5 346
  • 正文 年R本政府宣布亚情,位于F島的核電站妄痪,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏楞件。R本人自食惡果不足惜拌夏,卻給世界環(huán)境...
    茶點故事閱讀 41,455評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望履因。 院中可真熱鬧障簿,春花似錦、人聲如沸栅迄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,003評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽毅舆。三九已至西篓,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間憋活,已是汗流浹背岂津。 一陣腳步聲響...
    開封第一講書人閱讀 33,130評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留悦即,地道東北人吮成。 一個月前我還...
    沈念sama閱讀 48,348評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像辜梳,于是被迫代替她去往敵國和親粱甫。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,047評論 2 355

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