🚀前言
XSS(跨站脚本)是一种常见的网络攻击技术,攻击者通过在受害者的网页中注入恶意脚本,来获取用户的敏感信息或执行恶意操作。因此,XSS高级钓鱼指的是通过XSS攻击手段来进行钓鱼行为,即通过在网页中注入恶意代码,并伪装成合法的网站或登录页面,从而诱使用户输入敏感信息。
🚀一、XSS 高级钓鱼手段分析与应急处置
XSS(跨站脚本)漏洞是一种常见的Web应用程序安全漏洞,由于对用户输入的过滤不足而产生。攻击者通过利用这个漏洞,将恶意的脚本代码注入到网页中。当其他用户浏览这些网页时,恶意代码会被执行。该漏洞可能造成的危害包括:网络钓鱼,盗取各类用户账号;窃取用户的cookie信息,获取用户的隐私信息或利用用户的身份对网站进行进一步操作;劫持用户浏览器会话,执行任意操作,如非法转账、强制发表日志、发送电子邮件等;强制弹出广告页面、恶意下载等;进行恶意操作,如篡改页面信息、删除文件等;进行大量的客户端攻击,如DDOS攻击;网站挂马;获取客户端信息,如用户的浏览记录、真实IP地址、开放端口等。XSS攻击可分为两种类型。
跨站脚本攻击(XSS)可分为存储型和反射型两种类型。
- 存储型跨站脚本攻击(持久性XSS): 漏洞形式:Web应用程序允许用户输入内容,并将其持久保存并显示在网页上。 攻击方式:攻击者利用跨站漏洞构建恶意脚本,对大量用户构成危害。 典型案例:留言板、论坛、博客、wiki等。
- 反射型跨站脚本攻击(非持久性XSS): 漏洞形式:反射型攻击的脚本通常存储在URL中。 攻击方式:攻击者构造好的URL发送给受害者,诱导其打开中招。 典型案例:收到陌生人发送的长链接,如QQ收到此类链接。
本节将以电子商务网站为例进行XSS攻击过程的演示和分析。
🔎1.利用 XSS 漏洞的钓鱼攻击
如前所述,如果用户可以在网页上输入脚本代码并提交执行,那么就可存在 XSS 漏洞。例如,已知网站的留言板存在存储型 XSS 漏洞,攻击者鸢以输入“留言内容”,如图所示。
可见,如果留言内容中的脚本被成功提交,则查看该留言内容的用户便会触发 www.hacker.com:8080/XSS/inj.js 的运行,而 inj.js 可以是攻击者的任何恶意代码,本示例中的 inj.js中的代码将会新建一个管理员用户。这段代码一旦被执行,就会创建一个管理员用户,接下来攻击者就像守株待免一样等待有人点击这条留言,让这段代码执行。所以,这段留言必须有诱惑力,诱使别人点击才能保证攻击的成功率,因此XSS钓鱼攻击通常会抓住目标人群的喜好、心理等特征有的放矢地放下诱饵,等待鱼儿上钩。
本实验中,管理员日常工作中会通过管理员账号登录后台查看留言,当他看到该用户的留言,点击查看留言具体内容时,便发生了XSS攻击,如图所示。
sign=NTn%2BwOl89sw8%2F7EcMn6Clpog9kQ%3D)留言内容中的代码被执行后,将自动添加一个新的管理员用户admin1
攻击者如何知道管理员账号被添加成功了呢?当然,攻击者得像钓鱼的渔翁一样装上“鱼鳔”,当XSS攻击的脚本被执行成功后,攻击者会收到执行成功的信息,这时,攻击者就可以通过新建的admin1账号(使用之前设置的密码)登录管理后台了。
🔎2.高级钓鱼攻防
攻击者编写钓鱼留言,并且提交的留言中包含了恶意的跨站代码,该恶意代码构造了一个跟真实网站一模一样的页面,并诱导用户输入敏感信息,如用户名和口令,这就是典型的钓鱼攻击。攻击过程演示如下。
(1)攻击者编写了恶意代码ij.php,将其注入留言内容中:“我上个展期在你们这里买的索爱读卡器,让朋友也看了看,确认是不能用!怎么回事?”如图所示
(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目录下。
查看修补后的网站留言时,会发现这条留言被编码输出,此时管理员便发现网页留言区被注入了代码,但钓鱼攻击并没有成功,如图所示
使用德迅云安全的高防服务器
德迅云安全部署的T级别数据中心,具备完善的机房设施,核心骨干网络有效保证高品质的网络环境和丰富的带宽资源。搭载赠送:自主化管理平台、德迅卫士(主机安全防火墙)、WEB云防护(一站式网站安全加速)、1V1专家技术支撑,竭诚为您提供安全、可靠、稳定、高效的服务体验。
DDoS清洗:近源清洗多种流量清洗部署方案,无损防御各种DDoS攻击
CC攻击防御:5s发现恶意请求,10s快速阻断攻击,事前拦截、事后溯源、全方位防黑
WEB云防护(一站式网站安全加速):防SQL注入、XSS跨站,后门隔离保护、WEB SHELL上传、非法HTTP协议请求。
1V1专家技术支撑:德迅云安全专家团队免费提供7*24小时不间断服务,提供高效,稳定的售后保障。
5.使用德迅云安全的安全加速SCDN
安全加速(Secure Content Delivery Network,SCDN)是德迅云安全推出的集分布式DDoS防护、CC防护、WAF防护、BOT行为分析为一体的安全加速解决方案。已使用内容分发网络(CDN)或全站加速网络(ECDN)的用户,购买服务后可为加速域名一键开启安全防护相关配置,全方位保障业务内容分发。
Web攻击防护:有效防御 SQL注入、XSS攻击、命令/代码执行、文件包含、木马上传、路径穿越、恶意扫描等OWASP TOP 10攻击.
应用层DDoS防护:自定义防护规则,访问日志审计,网页防篡改,数据防泄漏,数据防泄漏
安全可视化:四大安全分析报表,全量日志处理,实时数据统计
XSS攻击是一种常见的网络攻击方式,攻击者通过注入恶意脚本,窃取用户的敏感信息,控制用户账号,向其他网站发起攻击,以及传播恶意脚本。为了防止XSS攻击,需要采取输入检查、输出编码、Cookie安全、HTTPS加密以及CSP策略等多种防御措施。同时,需要及时发现和修复XSS漏洞,保障用户信息的安全。