我只是在测试一个基本的XSS注入攻击。根据下面的图片,这个网站看起来容易受到XSS的攻击吗?
白名单字符仍然是对付XSS攻击的最佳实践吗?


发布于 2017-03-29 09:14:28
从屏幕截图来看,这个页面似乎不容易受到XSS的攻击。
防止XSS的正确方法是使用输出编码。如果用户键入<script>,页面将<script>放入HTML源,则很容易受到XSS的攻击。如果它对用户输入进行编码并将<script>放入HTML源,则不会将其解释为HTML,而是将其解释为文本<script>。
看起来您的站点进行了两次而不是一次的编码,这将导致在文本字段中显示编码的HTML。
发布于 2018-11-04 23:54:09
问题中的例子似乎表明,它们通过锁定标记来阻止标签的使用。例如,<script>变成<script>。但是,如果UTF对其进行编码,然后SQL将其编码为其他内容,那么它在技术上是不安全的。因此,可以使用不同类型的注入方法,这是一种SQL注入,可以被十六进制值利用,如下所示:

然后,将对

在测试可能的注入时,下面是来自OWASP的一个示例:
Select user from users where name = unhex('726F6F74')这里的'root‘表示为十六进制值726F6F74
HTML.Encode():https://stackoverflow.com/questions/1014593/html-encode-what-how-does-it-prevent-scripting-security-problems-in-asp-net
SQL注入:https://www.w3schools.com/sql/sql_injection.asp
OWASP example1:https://www.owasp.org/index.php/Testing_为_SQL_注入_(OTG-INPVAL-005)#十六进制_编码
OWASP逃逸:https://www.owasp.org/index.php/XSS_过滤器_逃逸_作弊_板材
另一个例子可以在这里找到:https://www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/#HexbasedSamples
https://security.stackexchange.com/questions/155207
复制相似问题