代码审计XSS 漏洞

Posted 学会总结

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了代码审计XSS 漏洞相关的知识,希望对你有一定的参考价值。

XSS漏洞

1、反射型XSS

黑盒扫描

将尖括号、单双引号等提交到Web服务器,检查返回到html页面里有没有保留原来到特殊字符即可。

 

白盒审计:

寻找带有参数的输出函数,然后根据输出函数对输出内容回溯输入参数,观察有没有经过过滤。

 

输出函数:

print、print_recho、printf、sprintf、die、var_dump、var_export

 

测试代码:

<?php

echo $_GET['a'];

?>

 

测试截图:

 

 

2存储型XXS

经常出现的地方:文章发表、评论回复、留言、资料设置

 

白盒审计:

寻找未过滤的输入点和未过滤的输出函数。

这个最终的输出点可能跟输入点完全不在一个业务流上:

1对于这类可以根据代码功能去猜

2或者老老实实去追哪里有操作过这个数据,使用表名、字段名去代码里搜索。

 

 

漏洞防范

1、特殊字符HTML实体转码

1)单引号('

2)双引号("

3)尖括号(<>

4)反斜杠(\

5)冒号(:

6)and符(&)

7#号(#)

 

htmlspecialchars() 函数说明

htmlspecialchars() 函数把一些预定义的字符转换为 HTML 实体。

预定义的字符是:

& (和号) 成为 &amp;

" (双引号) 成为 &quot;

' (单引号) 成为 &#039;

< (小于) 成为 &lt;

> (大于) 成为 &gt;

 

 

测试代码:

<?php

echo htmlspecialchars($_GET['a']);

?>

 

测试截图:

【代码审计】XSS 漏洞

查看页面源代码,特殊字符被HTML实体转码

 

2标签事件属性黑白名单

推荐用白名单

 

参考链接

《代码审计-企业级Web代码安全架构》,尹毅 编著




以上是关于代码审计XSS 漏洞的主要内容,如果未能解决你的问题,请参考以下文章

代码审计XSS 漏洞

代码审计之xss漏洞

2020/1/29 PHP代码审计之XSS漏洞

从某cms的xss漏洞来学习代码审计

代码审计中的XSS反射型漏洞

代码审计学习之反射型XSS