XSS攻擊的防禦

2022-06-22 05:18:12 字數 1102 閱讀 9765

xss 又稱 css,全稱 cross sitescript,跨站指令碼攻擊,是 web 程式中常見的漏洞,xss 屬於被動式且用於客戶端的攻擊方式,所以容易被忽略其危害性。其原理是攻擊者向有 xss 漏洞的**中輸入(傳入)惡意的 html **,當其它使用者瀏覽該**時,這段 html **會自動執行,從而達到攻擊的目的。如,盜取使用者 cookie 、破壞頁面結構、重定向到其它**等。

利用 beautifulsoup 模組過濾掉存在危險的 html 標籤。

先利用 bs 模組獲得 bs 物件,在 bs 物件中查詢非法標籤並通過 decompose 函式過濾掉,最後存到資料庫的是 bs 物件的字串化。

from bs4 import beautifulsoup

def add_article(request):

if request.method == "post":

title = request.post.get("title")

content = request.post.get("article_content")

user = request.user

bs = beautifulsoup(content, "html.parser")

desc = bs.text[0:150] + '...'

# 過濾非法標籤

for tag in bs.find_all():

if tag.name in ["script","link"]:

tag.decompose()

article_obj = models.article.objects.create(user=user, title=title, desc=desc)

models.articledetail.objects.create(content=str(bs), article=article_obj)

return httpresponse("新增成功!")

xss攻擊與防禦

cross site scripting跨站指令碼攻擊 利用js和dom攻擊。盜用cookie,獲取敏感資訊 破壞正常頁面結構,插入惡意內容 廣告.劫持前端邏輯 ddos攻擊效果 分布式拒絕服務攻擊 server limit dos,http header過長,server返回400 攻擊方式 發出...

xss攻擊與防禦

xss有三種型別 儲存型特點 經過後端和資料庫 危害較大 反射性經過後端,不經過資料庫 dom型 不經過後端和資料庫 xss平台 xss無過濾 從原始碼可以看出對input沒有做任何過濾 可以直接構造 payload 輸入框中輸入即可成功執行 xss僅用str replace過濾 這裡的正規表示式導...

XSS攻擊與防禦方法

摘要 1 介紹xss攻擊 2 如何防禦 跨站指令碼攻擊 cross site scripting 一種經常出現在web應用中的計算機安全漏洞 它允許惡意web使用者將 植入到提供給其它使用者使用的頁面中 xss攻擊的危害包括 1 盜取各類使用者帳號,如機器登入帳號 使用者網銀帳號 各類管理員帳號 2...