学习XSS跨站脚本漏洞和CSRF跨站请求伪造漏洞

学习:https://mp.weixin.qq.com/s?__biz=MzA4NDk5NTYwNw==&mid=2651425688&idx=1&sn=f7a63cac2bc052933c2759ede808dd28&chksm=842390e0b35419f6957aae41307a4a39d31e4ed1a0259bee665a495a7ee311a1f262fe19ddc5&mpshare=1&scene=23&srcid=1130MUPVA9IHFJg834QVMtLd

XSS

XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意HTML代码,当用户浏览该页面时,嵌入Web页面的HTML代码会被执行,从而达到恶意用户的特殊目的。XSS属于被动式的攻击,因为其被动且不好利用,所以许多人常忽略其危害性。在XSS攻击中,一般有三个角色参与:攻击者、目标服务器、受害者的浏览器。

危害有突破域限制、修改HTML代码、XSS蠕虫攻击、命令执行、获取客户端信息、结合CSRF攻击、获取系统管理后台权限、盗取账号和DDOS攻击。

反射型XSS

<反射型XSS>也称为<非持久型XSS>,其特征是直接在URL中输入恶意代码。这种XSS攻击的隐蔽性较差,一般的浏览器都可以识别并拦截。

如果网站将我们搜索的内容直接返回显示在网页里面,反射型XSS就有了用武之地。

打开Webgoat:(安装:https://blog.csdn.net/qq_37865996/article/details/84670470

在此搜索框输入啥都会被返回:

满足了反射型XSS的特征,我们这样输入进行攻击:

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

存储型XSS

<存储型XSS>也称为<持久性XSS>,这种攻击的特征是恶意代码是存储在数据库或者服务器上,一般存储型XSS的隐蔽性比较高,浏览器一般不会察觉和拦截,所以危害也是最大的。

假设有这么一个网站,是让人去留言的,系统会把留言存储在服务器上:

在留言系统留言时:

可以完整的把我们的留言保留在系统中,这样输入测试存储型XSS

<script language="javascript" type="text/javascript">alert("Hatsune Say Store XSS");</script>

点开这个XSS留言的链接:

Dom-Based XSS Injection

客户端脚本使用来自用户请求的恶意内容将HTML写入自己的页面。
类似于反射的XSS。
在浏览器中以从用户处继承的浏览器权限运行

XSS的事故频发地

  1. HTML文档
  2. 多媒体、网页插件
  3. CS客户端软件

CSRF跨站请求伪造漏洞

CSRFCross Site Request Forgery的缩写(也缩写为XSRF)。直译过来就是<跨站请求伪造>的意思,也就是在用户会话下对某个CGI做一些<GET/POST>的事情,也可以将CSRF理解成为高级的XSS。网站是通过cookie来识别用户的,当用户成功进行身份验证之后浏览器就会得到一个标识其身份的cookie,只要不关闭浏览器或者退出登录,以后访问 这个网站会带上这个cookie,如果这期间浏览器被人控制着请求了这个网站的url,可能就会执行一些用户不想做的功能(比如修改个人资料)。这个请求并不是用户真正想发出的请求,这就是所谓的<请求伪造>。因为这些请求也是可以从第三方网站提交的,所以前面加上<跨站>二字。

CSRF攻击条件:

  1. 用户已经完成身份认证
  2. 新请求的提交不需要重新身份认证或确认机制
  3. 攻击者必须了解Web APP请求的参数构造
  4. 用户会被吸引去点击链接

常见的CSRF方式:

  • <img>标签属性

  • <iframe>标签属性

  • <script>标签属性

  • JavaScript方法:Image对象、XMLHTTP对象

Webgoat中有关CSRF的部分有待研究,这边我学的不好,先放这儿。

猜你喜欢

转载自blog.csdn.net/qq_37865996/article/details/84670458