常見web攻擊方式之DOS XSS

2021-09-10 21:38:21 字數 2714 閱讀 2965

dos 攻擊常以 web 應用程式中脆弱的線路或 url 作為 目標,並向其傳送精心設計的資料報或 url,這樣會迫使伺服器陷入無限迴圈或進行 cpu 密集型運算,從而使得它從資料庫中大規模載入資料,最終迫使伺服器 cpu 超負荷運載以阻止伺服器執行其他請求。

ddos 攻擊是指 dos 攻擊以一種精心設計的方式執行 —— 利用多系統針對單域進行攻擊。通常有數千個 ip 位址被使用,這些 ip 位址由發動 ddos 攻擊的殭屍網路控制。

下面看乙個關於 dos 攻擊的最小示例:

from flask import flask

from flask import request, render_template_string, render_template

template =

'''hello foo

''''/login'

)def

hello_ssti()

: person =

if request.args.get(

'name'):

person[

'name'

]= request.args.get(

'name'

)

template = template.replace(

'foo'

, person[

'name'])

return render_template_string(template, person=person)

if __name__ ==

"__main__"

:true

)

上面的**同樣可以使用伺服器端模板注入的方式進行攻擊,任何傳遞的表示式都會被求值,當然也包括算術運算。

我們先進行一次正常的請求,訪問:

然後我們嘗試輸入乙個簡單的算術表示式,訪問:

可以看到我們輸入的算術表示式被求值了,通過傳入伺服器無法處理的 cpu 密集型運算,就為簡單的 dos 攻擊開闢了途徑。我們只需要輸入乙個足夠大的算術表示式,它就會占用系統的 cpu,進而導致伺服器超負荷運載,從而無法處理其他請求。訪問:

你會發現請求一直無法完成,而且因為這次計算占用了大量的系統 cpu,伺服器對其他正常的請求也無法做出響應。這時候訪問:

你會發現請求同樣無法完成。

xss 是一種常見的 web 攻擊形式,攻擊者可以將惡意指令碼注入伺服器的**中,這些指令碼是從其他**載入,並控**務器。

我們使用伺服器端模板和指令碼注入的 xss 指令碼進行一次簡單的跨站指令碼攻擊,訪問

(因為上面的服務已經癱瘓,這裡要重啟一下服務):

這次請求是使用的 edge 瀏覽器,其他的請求使用的都是 chrome 瀏覽器,因為使用 chrome 瀏覽器發起這次請求時,被瀏覽器攔截了。

對上面的例子我們使用 jinja2 的轉義過濾器 「|e」 進行轉義即可。

from flask import flask

from flask import request, render_template_string, render_template

template =

'''hello }

''''/login'

)def

hello_ssti()

: person =

if request.args.get(

'name'):

person[

'name'

]= request.args.get(

'name'

)

template = template.replace(

'foo'

, person[

'name'])

return render_template_string(template, person=person)

if __name__ ==

"__main__"

:true

)

然後我們再次訪問,可以看到算術表示式沒有被求值了。

同樣,我們再次訪問也沒有問題。

常見web系統攻擊方式歸納

常見web系統攻擊方式歸納 sql注入 常見於分頁功能或者查詢功能,對於傳入的引數未進行安全字元轉義或者過濾。一些需要提交字元資料的位置也是攻擊目標點。cookie竊取 此種攻擊常見於使用的認證憑據是cookie內容過於單一,沒有使用ip 時效性週期令牌等環境或者動態認證手段。系統內跨使用者資料攻擊...

常見的web攻擊方式及預防

1.sql注入。在使用者的輸入被直接動態拼裝sql語句時,可能使用者的惡意輸入被拼到了sql語句上,而造成了一些惡意操作。比如查詢到一些資料甚至刪除一些資料。一般應對方法是對sql語句進行預處理。thinkphp防sql注入 2.xss cross site scripting。跨站指令碼攻擊。想辦...

PHP面試 常見Web攻擊方式及防禦方案

跨站指令碼攻擊,指攻擊者在網頁中嵌入惡意指令碼程式。防禦將sql命令偽裝成正常的http請求引數,傳遞到伺服器端,伺服器執行sql命令造成對資料庫進行攻擊 防禦跨站請求偽造,指通過偽裝成受信任使用者進行訪問,比如我訪問了a 然後cookie存在了瀏覽器,然後我又訪問了乙個流氓 不小心點了流氓 乙個鏈...