真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯網站制作重慶分公司

PHP安全問題匯總

1-XSS

創(chuàng)新互聯公司服務項目包括安吉網站建設、安吉網站制作、安吉網頁制作以及安吉網絡營銷策劃等。多年來,我們專注于互聯網行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯網行業(yè)的解決方案,安吉網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到安吉省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!

Cross-Site Scripting(跨站腳本攻擊)簡稱 XSS,是一種代碼注入攻擊。攻擊者通過在目標網站上注入惡意腳本,使之在用戶的瀏覽器上運行。利用這些惡意腳本,攻擊者可獲取用戶的敏感信息如 Cookie、SessionID 等,進而危害數據安全。

來源

來自用戶的 UGC 信息

來自第三方的鏈接

URL 參數

POST 參數

Referer (可能來自不可信的來源)

Cookie (可能來自其他子域注入)

轉義、過濾、限制長度

2-SQL注入

通過SQL語句,實現無賬號登錄,甚至篡改數據庫。

攻擊實例

復制代碼
String sql = "select * from user_table where username=' "+userName+" ' and password=' "+password+" '";--當輸入了上面的用戶名和密碼,上面的SQL語句變成:SELECT * FROM user_table WHERE username='’or 1 = 1 -- and password='’"""--分析SQL語句:--條件后面username=”or 1=1 用戶名等于 ” 或1=1 那么這個條件一定會成功;--然后后面加兩個-,這意味著注釋,它將后面的語句注釋,讓他們不起作用,這樣語句永遠都--能正確執(zhí)行,用戶輕易騙過系統(tǒng),獲取合法身份。--這還是比較溫柔的,如果是執(zhí)行SELECT * FROM user_table WHEREusername='' ;DROP DATABASE (DB Name) --' and password=''--其后果可想而知…

如何防御SQL注入
1、檢查變量數據類型和格式
2、過濾特殊符號
3、綁定變量,使用預編譯語句  

3-CSRF

CSRF一般指跨站請求偽造
CSRF攻擊的全稱是跨站請求偽造( cross site request forgery),是一種對網站的惡意利用

CSRF則是通過偽裝來自受信任用戶的請求來利用受信任的網站,攻擊者盜用了你的身份,以你的名義向第三方網站發(fā)送惡意請求。CRSF能做的事情包括利用你的身份發(fā)郵件、發(fā)短信、進行交易轉賬等,甚至盜取你的賬號。

例如:
如下:其中Web A為存在CSRF漏洞的網站,Web B為攻擊者構建的惡意網站,User C為Web A網站的合法用戶

3-1 CSRF攻擊攻擊原理及過程如下:

1.用戶C打開瀏覽器,訪問受信任網站A,輸入用戶名和密碼請求登錄網站A;

2.在用戶信息通過驗證后,網站A產生Cookie信息并返回給瀏覽器,此時用戶登錄網站A成功,可以正常發(fā)送請求到網站A;

3.用戶未退出網站A之前,在同一瀏覽器中,打開一個TAB頁訪問網站B;

4.網站B接收到用戶請求后,返回一些攻擊性代碼,并發(fā)出一個請求要求訪問第三方站點A;

5.瀏覽器在接收到這些攻擊性代碼后,根據網站B的請求,在用戶不知情的情況下攜帶Cookie信息,向網站A發(fā)出請求。網站A并不知道該請求其實是由B發(fā)起的,所以會根據用戶C的Cookie信息以C的權限處理該請求,導致來自網站B的惡意代碼被執(zhí)行。

3-2防御CSRF攻擊

目前防御 CSRF 攻擊主要有三種策略:驗證 HTTP Referer 字段;在請求地址中添加 token 并驗證;在 HTTP 頭中自定義屬性并驗證。

1-驗證 HTTP Referer 字段

根據 HTTP 協(xié)議,在 HTTP 頭中有一個字段叫 Referer,它記錄了該 HTTP 請求的來源地址。在通常情況下,訪問一個安全受限頁面的請求來自于同一個網站,比如需要訪問 http://bank.example/withdraw?account=bob&amount=1000000&for=Mallory,用戶必須先登陸 bank.example,然后通過點擊頁面上的按鈕來觸發(fā)轉賬事件。這時,該轉帳請求的 Referer 值就會是轉賬按鈕所在的頁面的 URL,通常是以 bank.example 域名開頭的地址。而如果黑客要對銀行網站實施 CSRF 攻擊,他只能在他自己的網站構造請求,當用戶通過黑客的網站發(fā)送請求到銀行時,該請求的 Referer 是指向黑客自己的網站。因此,要防御 CSRF 攻擊,銀行網站只需要對于每一個轉賬請求驗證其 Referer 值,如果是以 bank.example 開頭的域名,則說明該請求是來自銀行網站自己的請求,是合法的。如果 Referer 是其他網站的話,則有可能是黑客的 CSRF 攻擊,拒絕該請求。

這種方法的顯而易見的好處就是簡單易行,網站的普通開發(fā)人員不需要操心 CSRF 的漏洞,只需要在最后給所有安全敏感的請求統(tǒng)一增加一個攔截器來檢查 Referer 的值就可以。特別是對于當前現有的系統(tǒng),不需要改變當前系統(tǒng)的任何已有代碼和邏輯,沒有風險,非常便捷。

然而,這種方法并非萬無一失。Referer 的值是由瀏覽器提供的,雖然 HTTP 協(xié)議上有明確的要求,但是每個瀏覽器對于 Referer 的具體實現可能有差別,并不能保證瀏覽器自身沒有安全漏洞。使用驗證 Referer 值的方法,就是把安全性都依賴于第三方(即瀏覽器)來保障,從理論上來講,這樣并不安全。事實上,對于某些瀏覽器,比如 IE6 或 FF2,目前已經有一些方法可以篡改 Referer 值。如果 bank.example 網站支持 IE6 瀏覽器,黑客完全可以把用戶瀏覽器的 Referer 值設為以 bank.example 域名開頭的地址,這樣就可以通過驗證,從而進行 CSRF 攻擊。

即便是使用最新的瀏覽器,黑客無法篡改 Referer 值,這種方法仍然有問題。因為 Referer 值會記錄下用戶的訪問來源,有些用戶認為這樣會侵犯到他們自己的隱私權,特別是有些組織擔心 Referer 值會把組織內網中的某些信息泄露到外網中。因此,用戶自己可以設置瀏覽器使其在發(fā)送請求時不再提供 Referer。當他們正常訪問銀行網站時,網站會因為請求沒有 Referer 值而認為是 CSRF 攻擊,拒絕合法用戶的訪問。

2-在請求地址中添加 token 并驗證

CSRF 攻擊之所以能夠成功,是因為黑客可以完全偽造用戶的請求,該請求中所有的用戶驗證信息都是存在于 cookie 中,因此黑客可以在不知道這些驗證信息的情況下直接利用用戶自己的 cookie 來通過安全驗證。要抵御 CSRF,關鍵在于在請求中放入黑客所不能偽造的信息,并且該信息不存在于 cookie 之中??梢栽?HTTP 請求中以參數的形式加入一個隨機產生的 token,并在服務器端建立一個攔截器來驗證這個 token,如果請求中沒有 token 或者 token 內容不正確,則認為可能是 CSRF 攻擊而拒絕該請求。

這種方法要比檢查 Referer 要安全一些,token 可以在用戶登陸后產生并放于 session 之中,然后在每次請求時把 token 從 session 中拿出,與請求中的 token 進行比對,但這種方法的難點在于如何把 token 以參數的形式加入請求。對于 GET 請求,token 將附在請求地址之后,這樣 URL 就變成 http://url?csrftoken=tokenvalue。 而對于 POST 請求來說,要在 form 的最后加上 ,這樣就把 token 以參數的形式加入請求了。但是,在一個網站中,可以接受請求的地方非常多,要對于每一個請求都加上 token 是很麻煩的,并且很容易漏掉,通常使用的方法就是在每次頁面加載時,使用 javascript 遍歷整個 dom 樹,對于 dom 中所有的 a 和 form 標簽后加入 token。這樣可以解決大部分的請求,但是對于在頁面加載之后動態(tài)生成的 html 代碼,這種方法就沒有作用,還需要程序員在編碼時手動添加 token。

該方法還有一個缺點是難以保證 token 本身的安全。特別是在一些論壇之類支持用戶自己發(fā)表內容的網站,黑客可以在上面發(fā)布自己個人網站的地址。由于系統(tǒng)也會在這個地址后面加上 token,黑客可以在自己的網站上得到這個 token,并馬上就可以發(fā)動 CSRF 攻擊。為了避免這一點,系統(tǒng)可以在添加 token 的時候增加一個判斷,如果這個鏈接是鏈到自己本站的,就在后面添加 token,如果是通向外網則不加。不過,即使這個 csrftoken 不以參數的形式附加在請求之中,黑客的網站也同樣可以通過 Referer 來得到這個 token 值以發(fā)動 CSRF 攻擊。這也是一些用戶喜歡手動關閉瀏覽器 Referer 功能的原因。

3-在 HTTP 頭中自定義屬性并驗證

這種方法也是使用 token 并進行驗證,和上一種方法不同的是,這里并不是把 token 以參數的形式置于 HTTP 請求之中,而是把它放到 HTTP 頭中自定義的屬性里。通過 XMLHttpRequest 這個類,可以一次性給所有該類請求加上 csrftoken 這個 HTTP 頭屬性,并把 token 值放入其中。這樣解決了上種方法在請求中加入 token 的不便,同時,通過 XMLHttpRequest 請求的地址不會被記錄到瀏覽器的地址欄,也不用擔心 token 會透過 Referer 泄露到其他網站中去。

然而這種方法的局限性非常大。XMLHttpRequest 請求通常用于 Ajax 方法中對于頁面局部的異步刷新,并非所有的請求都適合用這個類來發(fā)起,而且通過該類請求得到的頁面不能被瀏覽器所記錄下,從而進行前進,后退,刷新,收藏等操作,給用戶帶來不便。另外,對于沒有進行 CSRF 防護的遺留系統(tǒng)來說,要采用這種方法來進行防護,要把所有請求都改為 XMLHttpRequest 請求,這樣幾乎是要重寫整個網站,這代價無疑是不能接受的

4-CC攻擊

4-1 CC攻擊的原理:

CC攻擊的原理就是攻擊者控制某些主機不停地發(fā)大量數據包給對方服務器造成服務器資源耗盡,一直到宕機崩潰。CC主要是用來消耗服務器資源的,每個人都有這樣的體驗:當一個網頁訪問的人數特別多的時候,打開網頁就慢了,CC就是模擬多個用戶(多少線程就是多少用戶)不停地進行訪問那些需要大量數據操作(就是需要大量CPU時間)的頁面,造成服務器資源的浪費,CPU長時間處于100%,永遠都有處理不完的連接直至就網絡擁塞,正常的訪問被中止。  

4-2 CC攻擊的種類:

CC攻擊的種類有三種,

直接攻擊代理攻擊僵尸網絡攻擊

直接攻擊主要針對有重要缺陷的WEB應用程序,一般說來是程序寫的有問題的時候才會出現這種情況,比較少見。僵尸網絡攻擊有點類似于 DDOS 攻擊了,從 WEB 應用程序層面上已經無法防御,所以代理攻擊是CC 攻擊者一般會操作一批代理服務器,比方說 100 個代理,然后每個代理同時發(fā)出 10 個請求,這樣 WEB 服務器同時收到 1000 個并發(fā)請求的,并且在發(fā)出請求后,立刻斷掉與代理的連接,避免代理返回的數據將本身的帶寬堵死,而不能發(fā)動再次請求,這時 WEB 服務器會將響應這些請求的進程進行隊列,數據庫服務器也同樣如此,這樣一來,正常請求將會被排在很后被處理,就象本來你去食堂吃飯時,一般只有不到十個人在排隊,今天前面卻插了一千個人,那么輪到你的機會就很小很小了,這時就出現頁面打開極其緩慢或者白屏。

4-3 CC攻擊與DDOS的區(qū)別

DDoS是針對IP的攻擊,而CC攻擊的是服務器資源。

5-DOS攻擊

DOS:中文名稱是拒絕服務,一切能引起DOS行為的攻擊都被稱為DOS攻擊。該攻擊的效果是使得計算機或網絡無法提供正常的服務。常見的DOS攻擊有針對計算機網絡帶寬和連通性的攻擊。 DOS是單機于單機之間的攻擊。

DOS攻擊的原理:首先攻擊者向被攻擊的服務器發(fā)送大量的虛假IP請求,被攻擊者在收到請求后返回確認信息,等待攻擊者進行確認,(此處需要擁有HTTP協(xié)議工作方式和TCP三次握手的基本知識)該過程需要TCP的三次握手,由于攻擊者發(fā)送的請求信息是虛假的,所以服務器接收不到返回的確認信息,在一段時間內服務器會處與等待狀態(tài),而分配給這次請求的資源卻沒有被釋放。當被攻擊者等待一定的時間后,會因連接超時而斷開,這時攻擊者在次發(fā)送新的虛假信息請求,這樣最終服務器資源被耗盡,直到癱瘓。

6-DDOS攻擊

DDoS攻擊就是分布式的拒絕服務攻擊,DDoS攻擊手段是在傳統(tǒng)的DoS攻擊基礎之上產生的一類攻擊方式。單一的DoS攻擊一般是采用一對一方式的,隨著計算機與網絡技術的發(fā)展,DoS攻擊的困難程度加大了。于是就產生了DDoS攻擊,它的原理就很簡單:計算機與網絡的處理能力加大了10倍,用一臺攻擊機來攻擊不再能起作用,那么DDoS就是利用更多的傀儡機來發(fā)起進攻,以比從前更大的規(guī)模來進攻受害者。常用的DDoS軟件有:LOIC。
在這里補充兩點:第一就是DDOS攻擊不僅能攻擊計算機,還能攻擊路由器,因為路由器是一臺特殊類型的計算機;第二是網速決定攻擊的好和快,比如說,如果你一個被限制網速的環(huán)境下,它們的攻擊效果不是很明顯,但是快的網速相比之下更加具有攻擊效果。
網頁題目:PHP安全問題匯總
文章地址:http://weahome.cn/article/cjsdjs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部