美文网首页
白帽子讲web安全-跨站脚本攻击(1)

白帽子讲web安全-跨站脚本攻击(1)

作者: 北邮小菜鸡 | 来源:发表于2020-02-29 22:19 被阅读0次

    1 XSS简介

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

    分类:

    反射型XSS    只是简单的把用户输入的数据反射给浏览器,攻击者事先做好链接,诱惑用户点触。

    存储型XSS    会把用户输入的数据存储在服务器端,代码存储在服务器,具有较强稳定性。

    DOM BASED XSS  通过修改页面的dom节点形成的XSS。

    2.1 XSS攻击进阶之初探XSS Payload

    首先xss payload 实质就是javascript

    一个最常见的xss payload,就是通过读取浏览器的cookie对象,从而发起“cookie劫持”攻击,进而直接登陆进用户账户。

    后来出现的cookie 中的HttpOnly标识可以防止cookie劫持。另外将cookie与客户端IP绑定,也可以解决呦!

    2.2攻击进阶之强大的XSS Payload

    1构造Get 与Post 请求

    攻击者可以通过插入一张图片来发起一个Get请求

    还可以通过JavaScript发出一个post请求:方法一:构造一个form表单,然后自动提取这个表单

                                                            方法二:通过XMLHttpRequest发送一个post请求

    (举例:xss payload 读取Qmail用户的邮件文件夹,xss payload 的思路就是先获取到sid的值,然后录取构造完整的URL,并使用xmlhttprequest请求此URL,应该就能够得到邮件列表了。)

    2.3攻击进阶之XSS钓鱼

    前面的攻击过程都是自动进行的,缺少了用户交互的过程。下面有两个交互的行为。

    验证码行为,攻击者可以在远程后台接受当前的验证码。

    修改密码的行为,钓鱼思路,利用JavaScript在当前页面伪造一个登录框,用户输入后,信息发送到黑客的服务器。

    2.4攻击进阶之识别用户浏览器

    最直接的莫过于通过XSS读取浏览器的UserAgent对象。

    后来因为上面的useragent可以伪造,利用不同浏览器之间的差异编写代码识别即可啦!

    2.5攻击进阶之识别用户安装的软件

    在IE中,可以通过判断active控件的classid是否存在,来推测用户是否安装了该软件。

    一些三方软件会泄露信息,如flash的system.capabilities 对象,能够查询客户端电脑的硬件信息。

    浏览器的扩展和插件也能被xsspayload扫描出来。

    2.6 CSS History Hack

    之前通过css,来发现一个用户曾经访问的网站,后来Firefox修复了这个暴露用户隐私的问题。

    2.7获取用户的真实IP地址

    很多时候,用户电脑使用了代理服务器,或者在局域网中隐藏在NAT后面,网站看到的客户端Ip地址,是内网的出口IP地址,并非用户电脑真实的本地IP地址。

    此时,若客户端安装了java环境,那么XSS就可以通过调用JavaApplet的接口获取客户端的本地地址。

    相关文章

      网友评论

          本文标题:白帽子讲web安全-跨站脚本攻击(1)

          本文链接:https://www.haomeiwen.com/subject/oxuphhtx.html