【SRC】cors&xss漏洞

CROS跨域资源共享

什么是cors

a页面想获取b页面资源,如果a、b页面的协议、域名、端口、子域名不同,所进行的访问行动都是跨域的,而浏览器为了安全问题一般都限制了跨域访问,也就是不允许跨域请求资源。注意:跨域限制访问,其实是浏览器的限制。理解这一点很重要!!!比如你发送一个登录请求,是一个非简单请求,浏览器回先发送一个OPTIONS请求,如果服务器端不允许跨域,请求就会直接结束,后续的登录请求就不会发送。

image-20240408141517831

如何测试

Burp靶场:https://portswigger.net/web-security/cors

image-20240408142703145

https://blog.csdn.net/m0_63303407/article/details/128618280

XSS跨站脚本漏洞

什么是xss漏洞

XSS攻击通常指黑客通过“HTML注入”篡改网页,插入恶意脚本,从而使用户浏览网页时控制用户浏览器的一种攻击。

image-20240408141801504

image-20240408141813679

如何测试

黑盒测试

尽可能找到一切用户可控并且能够输出在页面代码中的地方,比如下面这些:

  • URL的每一个参数
  • URL本身
  • 表单
  • 搜索框
  • 常见业务场景
  • 重灾区:评论区、留言区、个人信息、订单信息等
  • 针对型:站内信、网页即时通讯、私信、意见反馈
  • 存在风险:搜索框、当前目录、图片属性等

总结一句话就是见框就插,有交互就插

特殊的xss

  • 文件上传html文件

image-20240408145749643

image-20240408145759354

  • 文件上传.svg文件
1
2
3
4
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="red" />
<script>alert(1)</script>
</svg>
  • 文件上传.pdf

推荐项目:https://github.com/osnr/horrifying-pdf-experiments

实战

1
2
3
4
5
<iframe src=javascript:alert("test12")></iframe>

<iframe src=data:text/html;base64.PGlmcmFtZSBzcmM9amF2YXNjcmlwdDphbGVydCgidGVzdDEyIik+PC9pZnJhbWU+></iframe>

<img src=x onerror=alert('XSS');><img src=x onerror=alert("XSS");>