diff --git a/notes/攻击技术.md b/notes/攻击技术.md index e0107b4f..9decbeaf 100644 --- a/notes/攻击技术.md +++ b/notes/攻击技术.md @@ -13,29 +13,61 @@ ### 概念 -跨站脚本攻击(Cross-Site Scripting, XSS),可以将代码注入到用户浏览的网页上,这种代码包括 HTML 和 JavaScript。 +跨站脚本攻击(Cross-Site Scripting),为与层叠样式表(CascadingStyleSheets)做区分,所以简称XSS而非CSS,可以将代码注入到用户浏览的网页上,这种代码包括 HTML 和 JavaScript。 + +XSS共有三种类型,分别是`反射性`,`存储型`,`DOM型` ### 攻击原理 -例如有一个论坛网站,攻击者可以在上面发布以下内容: +#### 反射性 + +通常出现在搜索框等提交位置,举例来说在提交搜索内容跳转到搜索结果的页面时,通常会将搜索内容输出到前端页面,比如 ```html - +
您搜索的 test ,共有1条搜索结果
``` -之后该内容可能会被渲染成以下形式: +此时的`test`这个keyword通常是通过GET传参到搜索结果页面,`URL`通常为 -```html - +``` +https://www.example.com/search.php?keyword=test ``` -另一个用户浏览了含有这个内容的页面将会跳转到 domain.com 并携带了当前作用域的 Cookie。如果这个论坛网站通过 Cookie 管理用户登录状态,那么攻击者就可以通过这个 Cookie 登录被攻击者的账号了。 +我们可以构造如下语句 + +``` +https://www.example.com/search.php?keyword= +``` + +此时前端标签就会变成 + +``` +您搜索的,共有1条搜索结果
+``` + +若没有相关过滤,则会执行该`Javascript`语句,造成反射性XSS的触发,反射型XSS通常需要采用钓鱼等手段诱导用户点击构造好的`URL`,从而达到获取目标cookies等目的 + +#### 存储型 + +通常会出现在用户资料信息,留言,评论等Web需要与数据库交互的地方,恶意Javascript会被存储到数据库中,所有用户访问到被取到恶意数据的页面,都会遭到XSS攻击的毒手 + +举例来说,如果一个博客网站存在XSS漏洞,其中的某一篇文章的评论区有人发出了恶意代码,则这个恶意代码会被保存到评论的数据库中,每一个读到这篇文章的用户的页面上都会出现恶意的Javascript代码,存储型XSS危害较高 + +存储型XSS攻击思路: + +- 发送到评论区,当博主从后台查看评论,则可以通过构造好的恶意代码获取到Web的后台地址以及管理员的Cookies +- 发送给评论区,配合CSRF可以实现Web蠕虫 + +#### DOM型 + +DOM型时是于文档对象模型(Document Object Model)的XSS漏洞,和反射性XSS一样,需要诱导目标用户点击构造好的URL,DOM型和反射性XSS的区别在于反射性XSS将payload写在网页的html源码中,而DOM型的payload在浏览器的DOM中 ### 危害 - 窃取用户的 Cookie - 伪造虚假的输入表单骗取个人信息 - 显示伪造的文章或者图片 +- Web蠕虫 ### 防范手段