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

【安全测试】2_客户端脚本安全测试 _XSS和CSRF

文章目录

  • 一、跨站脚本攻击(XSS)
    • 1.1 XSS攻击的原理
    • 1.2 XSS攻击的类型
    • 1.3 XSS攻击常用的HTML标签
    • 1.4 XSS攻击步骤
    • 1.5 案例
      • 1.5.1 窃取用户Cookie
      • 1.5.2 注入外部JS文件
    • 1.6 XSS攻击防御
    • 1.7 XSS漏洞扫描
    • 1.8 总结
  • 二、跨站点请求伪造(CSRF)
    • 2.1 CSRF攻击原理
    • 2.2 CSRF攻击防御
    • 2.3 跨站请求删除微博案例
  • 三、总结

一、跨站脚本攻击(XSS)

XSS:跨站脚本(cross site script)为了避免与前端css混淆,改名为xss。

跨站脚本攻击:是指攻击者往Web页面里插入恶意Script代码,当用户浏览该页面时,嵌入的代码会被执行,从而达到恶意攻击用户的目的。

XSS攻击的危害:

  • 盗取各类用户账户;
  • 盗取、注入修改、删除客户端敏感数据;
  • 网站木马;
  • 肉鸡(控制受害机攻击别的机器)
跨站脚本攻击(XSS):只针对web项目 攻击者通过改变前端页面元素请求地址或注入JS,来获取非法数据(cookie)

1.1 XSS攻击的原理

1.2 XSS攻击的类型

1、存储型:将攻击代码存储到数据库,每次打开指定的页面自动加载执行。

场景:留言板、注册

2、反射型:临时修改页面代码,用户打开页面中招。

场景:图片、连接

1.3 XSS攻击常用的HTML标签

1.4 XSS攻击步骤

1、页面查找XSS漏洞

2、注入恶意程序

3、客户端访问注入恶意程序的页面

4、获取客户端敏感信息或攻击

页面查找XSS漏洞:-脚本:<script>alert(123)</script>-说明:一般作为漏洞测试使用,如果页面支持弹出框执行,意味着系统没有过滤<>/字符,说明存在XSS漏洞

1.5 案例

1.5.1 窃取用户Cookie

1.5.2 注入外部JS文件

1.6 XSS攻击防御

1、HttpOnly

  • 给关键的Cookie都加上HttpOnly属性
  • 浏览器将禁止页面的javascript访问带有HttpOnly属性的Cookie

2、输入检查

  • 检查用户输入的数据中是否包含了一些特殊字符,如<、>、'、"
  • 如果发现存在特殊字符,则将这些字符过滤或者编码

3、输出检查

  • 在变量输出到HTML页面时,可以使用编码或者转义的方式来防御XSS攻击

1.7 XSS漏洞扫描

1、手工检测

  • 优点:校验结果精准,但是对于一个大型Web应用,效率比较低
  • 重点:考虑哪里有输入、输入的数据在什么地方展示。

2、软件自动检测

  • 优点:方便,却存在误报,或者有些隐蔽的XSS无法检测出。

1.8 总结

  • XSS安全测试解决什么问题?
避免客户端被注入恶意JS程序或修改标签链接地址,导致数据丢失或访问黑客网站。
  • XSS测试人员使用的步骤
1、验证页面是否屏蔽了JS的注入 2、如果存在JS注入,提醒开发防护策略

二、跨站点请求伪造(CSRF)

CSRF ( Cross-site request forgery)是指跨站请求伪造

理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求或进行某些非常操作

2.1 CSRF攻击原理

2.2 CSRF攻击防御

1、验证码

  • 验证码被认为是对抗CSRF攻击最简洁有效的防御方法,但是处于用户体验考虑,不能给所有的操作都加上验证码

2、验证HTTP Referer

  • HTTP Referer可被用于检查请求是否来自合法的“源”
Referer引用,是HTTP请求header的一部分

3、添加token并验证

  • 在请求地址中添加token并验证

2.3 跨站请求删除微博案例

演示步骤: 1.黑客先发布一条微博,进行删除操作 2.黑客通过抓包找到删除微博的接口,确定传递的参数(一般都是id) 3.黑客找到其他用户发布的微博信息,并替换请求参数 4.黑客在自己的网站上伪造一个删除别人微博的请求: `<img th:src="http://121.43.169.97:1688/delBlog?id=101"/>` 5.黑客在发微博页面输入链接: '<a href=" http://121.43.169.97:9999/csrf" target="_blank">点击有惊喜</a>`,并诱惑用户进行点击 6.用户点击诱惑链接之后跳转到黑客网站,在黑客网站中触发删除微博的请求,进而删除用户资源.

三、总结

http://www.jsqmd.com/news/371509/

相关文章:

  • 【安全测试】3_网络安全测试 _数据加密和数据签名
  • 给NanoKVM Pro增加h265 HEVC编码器支持
  • 第一周:底层筑基——x86汇编与栈帧深度解析
  • Keil MDK 5.39 编程 + 调试 ,ARM 嵌入式开发!如何安装 - 教程
  • 15. GPU的SM简介
  • 01. GUIContent
  • 14. GPU共享内存
  • 前端+AI:CSS3(二) - 指南
  • 都在推deepseek本地化部署,为什么我不建议!
  • 别只盯着deepseek了,这个大模型本地化部署成本仅deepseek的1/3
  • day83(2.11)——leetcode面试经典150
  • 智能风控新纪元:建广数科自主开发的风险监控平台
  • 深入解析 Rust 数据建模:枚举(Enum)与结构体(Struct)的深度设计与工程实践 - 实践
  • Redis 8.6新特性全解析:从性能到运维的升级
  • 《构建之法》读后感(2)
  • list文档介绍。 - 教程
  • Java高频面试题:ZooKeeper集群中服务器之间是怎样通信的?
  • OpenFeign全解 声明式REST客户端原理与配置实战
  • D.二分查找-二分答案-求最大——1802. 有界数组中指定下标处的最大值
  • 别再用ChatGPT群发祝福了!30分钟微调一个懂你关系的“人情味”拜年AI
  • python defaultdict
  • A.每日一题——1382. 将二叉搜索树变平衡
  • 一人食调味痛点破解:小容量健康调味品,告别凑活吃出精致感 - 谈谈-新视野
  • 计算机毕业设计springboot医疗纠纷处理系统 医患矛盾调解信息化平台的设计与实现 医疗事故争议在线处置系统的设计与开发
  • B3872 [GESP202309 五级] 巧夺大奖
  • 信息论与编码篇---微分熵
  • 2深度学习基础知识
  • 独居餐如何有仪式感?天然提鲜调味品,让一人食告别凑活 - 谈谈-新视野
  • 信息论与编码篇---微分熵的极值性
  • 一人食不将就:轻盐调味让独居餐吃出健康与仪式感 - 谈谈-新视野