38、WEB攻防——通用漏洞&XSS跨站&绕过修复&http_only&CSP&标签符号

文章目录

  • 一、Ctfshow
    • [web 316------未做任何过滤(反射型)](#web 316——未做任何过滤(反射型))
    • [web 317-319------过滤特定标签(反射型)](#web 317-319——过滤特定标签(反射型))
    • [web 320------过滤空格(反射型)](#web 320——过滤空格(反射型))
    • [web 328------注册插入JS(存储型)](#web 328——注册插入JS(存储型))
    • [web 329------验证失效(存储型)](#web 329——验证失效(存储型))
    • [web 330------XSS+CSRF(GET型)](#web 330——XSS+CSRF(GET型))
    • [web 331------XSS+CSRF(POST型)](#web 331——XSS+CSRF(POST型))
  • 二、XSS防御

一、Ctfshow

XSS总结

web 316------未做任何过滤(反射型)

bash 复制代码
document.cookie //获取浏览器cookie
window.location.href //获取当前页面的网站
window.location.href='URL' //重定向网站

常用payload:<script>alert(1)</script><scirpt>alert("xss");</script>

简单来说,就是搭建服务器,并准备有一个接收cookie的文件,在前端插入js代码以获取当前用户的cookie并将cookie信息发送到你搭建的服务器上。ctfshow后台有一个机器人,它会定期访问你上传的包含payload的页面。

web 317-319------过滤特定标签(反射型)

思路:过滤<script>标签,就换其他标签<img src=1 onerror=alert("xss");><body/onload=alert("xss");>
XSS总结

  • 这里使用<img src=1 onerror=alert("xss");>的话,不会得到flag。原因可能是网站中存在1这个文件,因为存在,就不会触发onerror事件。
  • 最好使用onload这种不需要任何附加条件,自动触发的事件。

web 320------过滤空格(反射型)

/代替空格,<img/src="x"/onerror=alert("xss");>

web 328------注册插入JS(存储型)

存储型xss,将payload写入到数据库中。

思路:后台管理员有功能页面,能够查看注册用户到的账号密码。如果将注册的账号密码写成JS代码(获取cookie),在管理员查看账号密码的时候会不会触发JS。

web 329------验证失效(存储型)

思路:既然cookie失效很快,就不采取通过获取cookie再登录后台这个思路。换个思路,直接通过JS代码获取网页源代码。

web 330------XSS+CSRF(GET型)

web 331------XSS+CSRF(POST型)

重点:如何使用JS实现POST方式提交表单。使用ajax

二、XSS防御

  1. 过滤一些危险字符,以及转义&、<、>、"、'等危险符号。自定义过滤函数
  2. HttpOnly ,httponly主要解决javascript访问cookie的问题。明显的例子就是使用javascript获取cookie获取不全,一般获取不到phpsession的值。httponly可以在php配置文件(全局)中设置,也可以在代码中设置(局部)。httponly保护cookie

  3. CSP(content security policy),文件保护策略。例如,使用document.cookie的XSS获取管理员cookie,若配置CSP,获取不到cookie,因为CSP导致数据不能外放。
  4. 输入内容长度限制,实体转义等。
相关推荐
外滩运维专家5 小时前
HTTPS 证书报错排查手册:6 个高频错误码及解决方法
网络协议·http·https
郭老二5 小时前
【前端】vue3:编译步骤
前端
不在逃避q6 小时前
Trae/Vs Code/Cursor命令行无法跑npm命令
前端·arcgis·npm
夏殇之殁6 小时前
包中创建自定义列表项。 . 使用自定义列表项进行数据绑定 . 将天气预报数据保存到本地内存表,通过LiveBindings进行显示。 ...
服务器·前端·javascript
The Chosen One9856 小时前
高进度算法模板速记(待完善)
java·前端·算法
陈随易6 小时前
MoonBit抓包模块pcap,查看电脑的每一次联网通信
前端·后端·程序员
新中地GIS开发老师7 小时前
WebGIS开发学生作品|低空航天管理与航线规划系统
前端·javascript·webgis·三维gis开发
用户059540174468 小时前
大模型对话记忆持久化踩坑实录:用 Playwright 自动化测了 300 次,终于揪出会话丢失的真凶
前端·css
丙氨酸長鏈8 小时前
Web前端入门第 问:JavaScript 一个简单的 IndexedDB 数据库入门示例
前端·javascript·数据库
鲜花飘飘扬8 小时前
HTTP请求头中表示代理IP地址的属性及获取情况
网络协议·tcp/ip·http