python的flask解决xss攻击漏洞

2019-10-09  本文已影响0人  空口言_1d2e

xss漏洞解决

跨站脚本攻击的原理

XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意脚本代码,而程序对于用户输入内容未过滤,当用户浏览该页之时,嵌入其中Web里面的脚本代码会被执行,从而达到恶意攻击用户的特殊目的。
跨站脚本攻击的危害:窃取cookie、放蠕虫、网站钓鱼 …
XSS漏洞是Web应用程序中最常见的漏洞之一。如果您的站点没有预防XSS漏洞的固定方法,那么就存在XSS漏洞。这个利用XSS漏洞的病毒之所以具有重要意义是因为,通常难以看到XSS漏洞的威胁,而该病毒则将其发挥得淋漓尽致。

解决方案

由于我们在debug模式中,用户输入什么,就能返回什么,导致被认定为xss漏洞!TAT
于是乎,直接在request的参数里进行了html标签的去除。
Python没有类似php的strip_tags函数,不过有更为强大的HTMLParser。

from html.parser import HTMLParser

class StripTagsHTMLParser(HTMLParser):
    data = ""
    def handle_data(self, data):
        self.data += data
    
    def getData(self):
        return self.data

parser = StripTagsHTMLParser()
parser.feed('<html><head><title>Test</title></head>'
            '<body><h1>Parse me!</h1></body></html>')
data = parser.getData()
print(data)

输出:

TestParse me!
上一篇 下一篇

猜你喜欢

热点阅读