Web訪問控制漏洞安全介紹_第1頁
Web訪問控制漏洞安全介紹_第2頁
Web訪問控制漏洞安全介紹_第3頁
Web訪問控制漏洞安全介紹_第4頁
Web訪問控制漏洞安全介紹_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、Web訪問控制漏洞安全介紹技術(shù)創(chuàng)新 變革未來訪問控制漏洞橫向越權(quán)橫向越權(quán)通過本知識域,我們會:橫向越權(quán)漏洞的概念了解橫向越權(quán)漏洞的基本概念 了解橫向越權(quán)漏洞的形式 橫向越權(quán)漏洞的利于與防范 了解橫向越權(quán)漏洞對網(wǎng)站安全的影響 掌握橫向越權(quán)漏洞的測試和修復(fù)方法 橫向越權(quán)漏洞概念圖 - 1用戶可以訪問自己信息頁可以看到姓名,身份證號,手機(jī)號等信息訪問時(shí)請求頁面如下:/userinfo?userid=10訪問我的信息頁請求用戶10的信息頁返回用戶10的信息頁修改userid來進(jìn)行遍歷訪問其它用戶的信息頁返回其它用戶的信息頁通過userid來判斷用戶橫向越權(quán)漏洞概念圖 - 2用戶可以修改自己密碼先使用郵

2、箱等驗(yàn)證后,進(jìn)入修改密碼頁面最后修改用戶密碼的post參數(shù)如下:userid=10&password_new=xxx&password_confirm=xxx訪問我的修改密碼頁請求用戶修改密碼頁面跳轉(zhuǎn)修改密碼頁面修改userid來進(jìn)行遍歷傳遞了其它用戶id修改了其它用戶的密碼通過userid來判斷用戶橫向越權(quán)漏洞概念越權(quán)漏洞屬于邏輯漏洞。利用業(yè)務(wù)邏輯在程序中體現(xiàn)時(shí),僅僅限制于用戶點(diǎn)擊。Web應(yīng)用程序接收到用戶請求,修改某條數(shù)據(jù)時(shí),沒有判斷數(shù)據(jù)的所屬人,或者在判斷數(shù)據(jù)所屬人時(shí)從用戶提交的表單參數(shù)中獲取了用戶信息,導(dǎo)致攻擊者可以自行設(shè)置用戶,修改不屬于自己的數(shù)據(jù)只要是權(quán)限驗(yàn)證不是使用cookie來

3、驗(yàn)證,都有可能發(fā)生橫向權(quán)限漏洞Web應(yīng)用程序接收到用戶請求,修改某條數(shù)據(jù)時(shí),沒有判斷數(shù)據(jù)的所屬人,或者在判斷數(shù)據(jù)所屬人時(shí)從用戶提交的表單參數(shù)中獲取了userid。導(dǎo)致攻擊者可以自行修改userid修改不屬于自己的數(shù)據(jù)。所有的更新語句操作,都可能產(chǎn)生這個(gè)漏洞。橫向越權(quán)漏洞實(shí)例http:/mydvwa:8080/vulnerabilities/permission/正常來說,獲取的是我自己信息通過抓包發(fā)現(xiàn)獲取信息時(shí)會傳遞用戶名我們可以嘗試更改用戶名來獲取其它用戶的信息橫向越權(quán)漏洞實(shí)例http:/mydvwa:8080/vulnerabilities/permission/正常來說,獲取的是我自己信

4、息通過抓包發(fā)現(xiàn)獲取信息時(shí)會傳遞用戶名我們可以嘗試更改用戶名來獲取其它用戶的信息橫向越權(quán)漏洞對網(wǎng)站安全的影響以其它用戶的身份進(jìn)行操作查看遍歷內(nèi)容更改信息郵箱手機(jī)號發(fā)表文章所帶來的影響更改確認(rèn)郵箱手機(jī)號,可以進(jìn)行支付操作查看其它用戶信息,收集隱私信息姓名、身份證號、郵箱、電話發(fā)表敏感文章使用公眾號發(fā)表帶有敏感信息的文章漏洞代碼int userid=Integer.valueOf( request.getParameter(userid); - 從用戶輸入的參數(shù)里確認(rèn)用戶IDString email=request.getParameter(email);String tel=request.get

5、Parameter(tel);String realname=request.getParameter(realname);String pass=request.getParameter(pass);JdbcConnection conn = null;try conn = new JdbcConnection(); Object params = new Object5; params0 = email; params1 = tel; params2 = realname; params3 = pass; params4 = userid; final String sql = updat

6、e user set email=?,tel=?,realname=?,pass=? where userid=?; conn.execUpdate(sql,params); conn.closeConn();查找橫向權(quán)限漏洞查看任何傳遞用戶信息的參數(shù)只要是用戶id,用戶名等是以參數(shù)方式傳遞,就有可能有風(fēng)險(xiǎn)查看特權(quán)內(nèi)容,是否進(jìn)行了權(quán)限管理每個(gè)人博客等,即使是私有的:顯示我可看列表進(jìn)行了權(quán)限設(shè)置查看詳情時(shí),根據(jù)內(nèi)容ID來進(jìn)行判斷漏洞代碼修復(fù)方案int userid=Integer.valueOf(GetUseridFromCookie(request); - 從cookie中確認(rèn)用戶IDStri

7、ng email=request.getParameter(email);String tel=request.getParameter(tel);String realname=request.getParameter(realname);String pass=request.getParameter(pass);JdbcConnection conn = null;try conn = new JdbcConnection(); Object params = new Object5; params0 = email; params1 = tel; params2 = realname;

8、 params3 = pass; params4 = userid; final String sql = update user set email=?,tel=?,realname=?,pass=? where userid=?; conn.execUpdate(sql,params); conn.closeConn();如何修復(fù)橫向權(quán)限漏洞此類漏洞,很多時(shí)候是業(yè)務(wù)分析到程序設(shè)計(jì)時(shí)產(chǎn)生的。因此很多時(shí)候需要更改程序邏輯。用戶id,用戶名等禁止通過參數(shù)來傳遞,直接取Cookie里的值私有信息訪問時(shí)需要驗(yàn)證用戶身份隱藏的博客等,需要驗(yàn)證用戶身份,而不只是通過內(nèi)容ID來取信息在數(shù)據(jù)庫取數(shù)據(jù)時(shí),需要

9、驗(yàn)證原來語句:select * from blogs where blog_id = xx;休整后:select * from blogs where blog_id = xx and owner = yy;要是短時(shí)間很難更改整體邏輯,可以通過混淆參數(shù)方法來進(jìn)行防御用戶ID等使用MD5碼等,很難進(jìn)行遍歷垂直越權(quán)垂直越權(quán)通過本知識域,我們會:垂直越權(quán)漏洞的概念了解垂直越權(quán)漏洞的基本概念 了解垂直越權(quán)漏洞的種類和形式 垂直越權(quán)漏洞的檢測與防范 了解垂直越權(quán)漏洞對網(wǎng)站的影響 掌握垂直越權(quán)漏洞的測試和修復(fù)方法 垂直權(quán)限漏洞的概念垂直權(quán)限攻擊又叫做權(quán)限提升攻擊。其原理是由于Web應(yīng)用沒有做權(quán)限控制,或僅

10、僅在菜單上做了權(quán)限控制,導(dǎo)致惡意用戶只要猜測其他管理頁面的URL,就可以訪問或控制其他角色擁有的數(shù)據(jù)或頁面,達(dá)到權(quán)限提升的目的。后臺管理頁面一般只允許管理員訪問,如果普通用戶可以訪問,就存在向上越權(quán)漏洞。解決向上越權(quán)是比較容易處理的事情,如果管理員表與普通用戶表是同一張數(shù)據(jù)庫表,就必須要存在權(quán)限驗(yàn)證字段,權(quán)限驗(yàn)證字段用來區(qū)分是否為管理員。垂直權(quán)限漏洞 例1public void doFilter(ServletRequest req, ServletResponse res,FilterChain filter) throws IOException, ServletException Htt

11、pServletRequest request = (HttpServletRequest) req; HttpServletResponse response = (HttpServletResponse) res; User user = (User) request.getSession().getAttribute(user); / 從Cookie驗(yàn)證用戶 if(user=null) request.getRequestDispatcher(/).forward(request, response);/ 跳轉(zhuǎn)操作 boolean flag = user.getIsAdmin(); if

12、 (flag) filter.doFilter(request, response); else request.getRequestDispatcher(/).forward(request, response);/ 跳轉(zhuǎn)操作 垂直權(quán)限漏洞 例2管理個(gè)人信息-1)%管理所有用戶垂直權(quán)限漏洞 例3直接訪問管理員頁面權(quán)限控制在前臺做。檢查用戶是不是admin,不是就進(jìn)行跳轉(zhuǎn)到登陸頁面使用抓包工具,不接收跳轉(zhuǎn)語句,就可以一直訪問管理員頁面垂直越權(quán)漏洞對網(wǎng)站的影響垂直權(quán)限漏洞,一般是直接訪問業(yè)務(wù)管理員權(quán)限可能會看到全部用戶信息可能更改全部通告信息(注入廣告信息)可能更改商品價(jià)格可能更改訂單信息只要是能拿到業(yè)務(wù)管理員權(quán)限,可能會對業(yè)務(wù)造

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論