国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

系統(tǒng)的講解 - PHP WEB 安全防御

LinkedME2016 / 3400人閱讀

摘要:支持自動識別密碼哈希格式并通過字典破解密碼哈希。支持枚舉用戶密碼哈希權(quán)限角色數(shù)據(jù)庫數(shù)據(jù)表和列。支持在數(shù)據(jù)庫管理系統(tǒng)中搜索指定的數(shù)據(jù)庫名表名或列名。水平越權(quán)用戶未授權(quán)可以訪問用戶的數(shù)據(jù)。對于所有需要權(quán)限控制的位置,必須嚴(yán)格檢驗用戶權(quán)限級別。

常見漏洞

看到上圖的漏洞是不是特別熟悉,如果不進(jìn)行及時防御,就會產(chǎn)生蝴蝶效應(yīng)。

往下看,可能會找到你要的答案。

SQL注入攻擊 定義

SQL注入攻擊是通過WEB表單提交,在URL參數(shù)提交或Cookie參數(shù)提交,將懷有惡意的“字符串”,提交給后臺數(shù)據(jù)庫,欺騙服務(wù)器執(zhí)行惡意的SQL語句。

案例
//以用戶登錄為例,當(dāng)驗證用戶名和密碼是否正確時
$sql = "SELECT * FROM user WHERE 
        username = "".$_GET["username"]."" AND 
        password = "".$_GET["password"].""";

用戶惡意輸入:

$_GET["username"] = "" or 1=1 -- "";
$_GET["password"] = "123456";

注入后的Sql語句:

$sql = "SELECT * FROM user WHERE username = "" 
        or 1=1 -- ""AND password = "123456"";

執(zhí)行注入后的Sql語句,可以返回 user 表的全部數(shù)據(jù)。

平時我們可以進(jìn)行自測,比如使用單引號、雙引號,如果是數(shù)字進(jìn)行+1或-1。

SQL注入的危害很大,利用SQL注入可以進(jìn)行,拖庫刪庫刪表UDF提權(quán)讀取文件...

推薦一個開源的自動化的SQL注入工具。

SQLmap:http://sqlmap.org/

支持各種數(shù)據(jù)庫管理系統(tǒng)(MySql、Oracle、SQL Server、SQLite ... )。

支持自動識別密碼哈希格式并通過字典破解密碼哈希。

支持枚舉用戶、密碼、哈希、權(quán)限、角色、數(shù)據(jù)庫、數(shù)據(jù)表和列。

支持完全地下載某個數(shù)據(jù)庫中的某個表、某個列。

支持在數(shù)據(jù)庫管理系統(tǒng)中搜索指定的數(shù)據(jù)庫名、表名或列名。

支持下載或上傳文件。

支持執(zhí)行任意命令并回現(xiàn)標(biāo)準(zhǔn)輸出。

支持布爾型盲注、時間型盲注、基于錯誤信息的注入、聯(lián)合查詢注入和堆查詢注入。

嘗試著利用工具,注入自己的項目,發(fā)現(xiàn)問題,然后解決問題。

SQL注入的危害,遠(yuǎn)比我們想象的要大!

防御

推薦解決方案是使用 PDOMySQLi 的數(shù)據(jù)庫擴(kuò)展。

PHP官方文檔中介紹,MySQL擴(kuò)展自PHP 5.5.0起已廢棄,并在自PHP7.0.0開始被移除。

如果已經(jīng)在用MySQL擴(kuò)展了,可以對傳入的每個參數(shù)做驗證,并使用框架的ORM進(jìn)行查詢。

另外:addslashes 和 mysql_real_escape_string 這種轉(zhuǎn)義是不安全的!

XSS攻擊 定義

XSS攻擊是一種經(jīng)常出現(xiàn)在WEB應(yīng)用中的計算機(jī)安全漏洞,通過WEB表單提交或在URL參數(shù)提交將代碼植入在用戶的使用頁面上。

分類

存儲型

注入的惡意代碼存儲在服務(wù)器上(常用于留言板、論壇帖子、CRM),受害者請求服務(wù)器獲取信息的時候,這些惡意代碼就被瀏覽器成功執(zhí)行。

反射型

注入的惡意代碼沒有存儲在服務(wù)器上,通過引誘用戶點擊一個鏈接到目標(biāo)網(wǎng)站進(jìn)行實施攻擊。

DOM型

注入的惡意代碼并未顯式的包含在web服務(wù)器的響應(yīng)頁面中,但會被頁面中的js腳本以變量的形式來訪問到的方式來進(jìn)行實施攻擊。

案例

存儲型:論壇帖子界面input輸入框中,輸入 /> 進(jìn)行提交。

反射型:在瀏覽器輸入框中,輸入 /xxx.php?name=

//DOM型,代碼舉例

XSS的危害有很多,包括盜號,掛馬,控制受害者機(jī)器想其他網(wǎng)站發(fā)起攻擊 ...

自測的方法,看見輸入框就輸入:/> 進(jìn)行提交。

推薦一個專門針對瀏覽器攻擊的框架。

BeEF :https://beefproject.com/

防御

簡單的防御可以對style、script、image、src、a等等不安全的因素進(jìn)行過濾或轉(zhuǎn)義。

可以自己封裝一個方法,也可以使用框架的自帶方法,比如 xss_clean 。

可以利用一些模板引擎避免XSS攻擊,比如Laravel框架使用的Blade,還有twig,Smarty等。

可以利用HTTP-only,將cookie設(shè)置成HTTP-only防止XSS攻擊。

//設(shè)置Cookie
setcookie($name, $value, $expire, $path, $domain, $secure, $httponly); 

//然后服務(wù)端通過使用 $_COOKIE 進(jìn)行驗證。

可以使用Content Security Policy,它的實質(zhì)就是白名單制度。

入門教程請參考:http://www.ruanyifeng.com/blo...

SSRF攻擊 定義

SSRF(Server-Side Request Forgery:服務(wù)器端請求偽造) 是攻擊者偽造服務(wù)器端發(fā)起的請求,雖然攻擊者無法從外網(wǎng)訪問內(nèi)網(wǎng)的系統(tǒng),但是它通過注入惡意代碼從服務(wù)端發(fā)起,通過服務(wù)端就再訪問內(nèi)網(wǎng)的系統(tǒng),然后獲取不該獲取的數(shù)據(jù)。

案例

漏洞主要產(chǎn)生在包含這些方法的代碼中,比如 curl、file_get_contents、fsockopen。

//代碼片段

請求地址:http://www.xxx.com/demo.php?u...

將url參數(shù)修改成,file:///etc/passwd,可以獲取敏感文件的信息。

將url參數(shù)修改成,dict://127.0.0.1:3306/info,可以獲取目標(biāo)主機(jī)3306端口運行的應(yīng)用。

除了 file協(xié)議,dict協(xié)議,還可以利用gopher協(xié)議 和 http/https 協(xié)議進(jìn)行攻擊。

可以攻擊redis,memcache,內(nèi)網(wǎng)應(yīng)用,還可以查看一下敏感文件的信息 等等。

防御

對 curl、file_get_contents、fsockopen 這些方法中的參數(shù)進(jìn)行嚴(yán)格驗證!

限制協(xié)議只能為HTTP或HTTPS,禁止進(jìn)行跳轉(zhuǎn)。

如果有白名單,解析參數(shù)中的URL,判斷是否在白名單內(nèi)。

如果沒有白名單,解析參數(shù)中的URL,判斷是否為內(nèi)網(wǎng)IP。

CSRF攻擊 定義

CSRF(Cross-site request forgery:跨站請求偽造)是攻擊者通過偽裝成受信任的用戶,盜用受信任用戶的身份,用受信任用戶的身份發(fā)送惡意請求。

從上圖看出,完成一次CSRF攻擊,需要完成兩個步驟:

1.登錄受信任網(wǎng)站A,本地生成網(wǎng)站A的Cookie。

2.未退出網(wǎng)站A的情況下,訪問危險網(wǎng)站B。

危害

具體危害要看受信任網(wǎng)站是做什么的,如果是社交網(wǎng)站可以操控發(fā)廣告,如果是電商網(wǎng)站可以操控購物,如果是銀行網(wǎng)站甚至還可以操控轉(zhuǎn)賬,......

這樣危害會造成個人信息的泄露和財產(chǎn)的損失。

防御

Cookie Hashing,表單提交或Ajax提交,必須使用csrf token。

對于不確定是否有csrf風(fēng)險的請求,可以使用驗證碼(盡管體驗會變差)。

對于一些重要的操作(修改密碼、修改郵箱),必須使用二次驗證。

文件上傳漏洞 定義

文件上傳漏洞是攻擊者上傳了一個可執(zhí)行的文件到服務(wù)器上執(zhí)行。

可執(zhí)行文件包括有病毒、木馬、惡意腳本等。

危害

文件上傳漏洞與SQL注入或XSS相比,其風(fēng)險更大,如果存在上傳漏洞攻擊者甚至可以直接上傳一個webshell腳本到服務(wù)器上。

防御

文件擴(kuò)展名檢測

文件 MIME 驗證

文件重命名

文件目錄設(shè)置不可執(zhí)行權(quán)限

設(shè)置多帶帶域名的文件服務(wù)器

信息泄露 定義

信息泄露主要指用戶的手機(jī)號、郵箱、密碼、身份證、地址等敏感數(shù)據(jù)泄露,還有服務(wù)器上的文件和環(huán)境變量等敏感數(shù)據(jù)泄露,還包括將直接將企業(yè)源碼上傳到開發(fā)平臺。

案例

比如開發(fā)接口時,接口返回明文的手機(jī)號。

比如調(diào)試代碼時,代碼中提交了一些調(diào)試信息,未進(jìn)行刪除。

......

防御

敏感數(shù)據(jù)脫敏(比如手機(jī)號、身份證、郵箱、地址)。

服務(wù)器上不允許提交包含打印 phpinfo 、$_SERVER 和 調(diào)試信息等代碼。

定期從開發(fā)平臺掃描關(guān)于企業(yè)相關(guān)的源碼項目。

越權(quán) 定義

“超出了你自己所擁有的權(quán)限,干了你本來不可能干的事情。”

水平越權(quán):用戶A未授權(quán)可以訪問用戶B的數(shù)據(jù)。

垂直越權(quán):未登錄用戶可以訪問需要授權(quán)的應(yīng)用。

舉例,本來用戶A只能查看自己的訂單數(shù)據(jù),但是他通過修改URL參數(shù)就能查看到用戶B的訂單數(shù)據(jù)。

未登錄的用戶,可以訪問到后臺模塊并進(jìn)行操作。

防御

對于所有涉及到用戶數(shù)據(jù)的操作,必須嚴(yán)格判斷當(dāng)前用戶的身份。

對于所有需要權(quán)限控制的位置,必須嚴(yán)格檢驗用戶權(quán)限級別。

設(shè)計缺陷 返回信息過多

舉例,登錄時進(jìn)行驗證,當(dāng)用戶不存在時,返回“用戶不存在”,當(dāng)用戶被禁用時,返回“用戶已被禁用”。

避免攻擊者進(jìn)行惡意嘗試,不應(yīng)該返回過多的信息,可以統(tǒng)一返回“用戶名或密碼錯誤”。

短信接口被惡意攻擊

舉例,注冊或登錄時用戶輸入手機(jī)號碼就可直接觸發(fā)短信接口,這塊最容易被攻擊者進(jìn)行短信轟炸。

應(yīng)該進(jìn)行增加接口調(diào)用限制:

設(shè)置同一手機(jī)號短信發(fā)送間隔

設(shè)置每個IP地址每日最大發(fā)送量

設(shè)置每個手機(jī)號每日最大發(fā)送量

升級驗證碼,采用滑動拼圖、文字點選、圖表點選...

升級短信接口的驗證方法

小結(jié)

文章主要講解了 SQL注入攻擊、XSS攻擊、SSRF攻擊、CSRF攻擊、文件上傳漏洞、信息泄露、越權(quán)、設(shè)計缺陷等八大方面,通過這次的梳理,也使我自己對PHP WEB安全防御有了一個全面了解。

同時還要時刻保持警惕,所有用戶輸入的數(shù)據(jù)都是不值得信任的,接收到的數(shù)據(jù)必須經(jīng)過校驗和過濾。

也不要輕易相信從網(wǎng)絡(luò)上發(fā)現(xiàn)的代碼,在使用第三方類庫或代碼時抱有懷疑的態(tài)度,要多進(jìn)行調(diào)試和驗證,看起來沒問題的代碼可能隱藏了很多的安全隱患。

最后,推薦一款開源的漏洞演示平臺,包含了100多個漏洞。

這個是安裝在本地的,大家嘗試注入惡意代碼,同時也警醒自己不要犯這樣的錯誤。

bWAPP:http://www.itsecgames.com/

推薦閱讀

系統(tǒng)的講解 - SSO 單點登錄

系統(tǒng)的講解 - PHP 緩存技術(shù)

系統(tǒng)的講解 - PHP 接口簽名驗證

系統(tǒng)的講解 - PHP 浮點數(shù)高精度運算

本文歡迎轉(zhuǎn)發(fā),轉(zhuǎn)發(fā)請注明作者和出處,謝謝!

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/31430.html

相關(guān)文章

  • web攻擊方法及防御總結(jié)

    摘要:危險網(wǎng)站發(fā)出的請求得以執(zhí)行。但同樣可以被攻擊取得會話固定誘騙用戶使用指定的進(jìn)行登錄,這樣系統(tǒng)不會分配新的防御方法每次登陸重置設(shè)置,防止客戶端腳本訪問信息,阻止攻擊關(guān)閉透明化頭信息驗證校驗好的話點個贊吧更詳細(xì)講解安全大全 1. CSRF (cross-site request forgery)跨站請求偽造 一句話概括: 當(dāng)用戶瀏覽器同時打開危險網(wǎng)站和正常網(wǎng)站,危險網(wǎng)站利用圖片隱藏鏈接,或...

    hqman 評論0 收藏0
  • web攻擊方法及防御總結(jié)

    摘要:危險網(wǎng)站發(fā)出的請求得以執(zhí)行。但同樣可以被攻擊取得會話固定誘騙用戶使用指定的進(jìn)行登錄,這樣系統(tǒng)不會分配新的防御方法每次登陸重置設(shè)置,防止客戶端腳本訪問信息,阻止攻擊關(guān)閉透明化頭信息驗證校驗好的話點個贊吧更詳細(xì)講解安全大全 1. CSRF (cross-site request forgery)跨站請求偽造 一句話概括: 當(dāng)用戶瀏覽器同時打開危險網(wǎng)站和正常網(wǎng)站,危險網(wǎng)站利用圖片隱藏鏈接,或...

    xumenger 評論0 收藏0
  • Web實時彈幕原理分析

    摘要:官方地址支持協(xié)議用于實時通信和跨平臺的框架。如實時分析系統(tǒng)二進(jìn)制流數(shù)據(jù)處理應(yīng)用在線聊天室在線客服系統(tǒng)評論系統(tǒng)等。官方地址動畫效果是一款優(yōu)雅的網(wǎng)頁彈幕插件支持顯示圖片文字以及超鏈接。 廢話不多說,首先上效果圖。 效果圖 showImg(https://segmentfault.com/img/bVGo0P?w=521&h=635); 用途 搞活動、年會的時候,在大屏幕上實時顯示留言、吐...

    tigerZH 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<