原文网址:
http://www.e3i5.com/html/2004-6-18/2004618171625.htm
http://wvw.ttian.net/article/show.php?id=164
作者:风清扬
近日,由于发现一些站点仍然存在UBB的跨站脚本攻击的漏洞.跨站脚本攻击虽然很少会对服务器造成一些什么比较大的影响,但对于一个站点来说,存在这种漏洞实在是太不值得!小则,弹点什么东东出来;中则改改主页;重则窃取用户的COOKIES资料,更甚者将会G掉浏览者的硬盘.一个站点被变成一个恶意网站,还有谁敢来?如果再加上该站的站长比较"盲"一些,岂不乱套了?
小小的一段代码就真的能使一个站点成这样?好叫我们来具体的看看所谓的跨站脚本攻击到底会成为什么样的攻击模式.进入一个含UBB功能的站点,比如留言板,论坛,或是含提交程序的站点.首先,讲一下最简单的脚本攻击:<td ></td >等HTML字符的过滤问题.
登陆过一个CGI制作站点.以原来ASP的眼光看CGI的站点,感觉CGI对脚本的过滤应该很好.于是做了最初的测试.在用户一栏中填写<td >,提交用户注册后发现并没提出非法字符的提示.注册完成后,点击资料也发现页面变形了.如在其他几个如国家,性别里填写也会出现同样的问题,那页面就没法看了.于是换了一个站点,再次提交<td >出现了非法字符提示,看来站点是已经过滤的<>等HTML的脚本字符,那好,我们改用ASCII 码替换<> 如& #60; & #62;代替提交后再来看,又出现了上面页面变形的情况,看来非法过滤机制还不是很完善. 更有甚者,我竟发现一个站点内的姓名栏填写时没有字数大小设置,没有过滤任何非法字符,如果我提交个什么恶意代码那还不成全了我?
简单的脚本攻击如<td >等HTML格式的代码一定要过滤好,上面的一些站点还没牵扯到UBB就出问题了.那我们下面就开始重点讲一下UBB过滤漏洞的问题.UBB是论坛中用来替换HTML编辑的一种格式符号,如[b ][/b ]可以替换成HTML中的< b></ b>..然而就是这一个替换问题,就成了跨站脚本攻击的最佳积聚地.测试了一个ASP留言版以及一个整站的程序代码:
初级问题: [url ]的过滤,在提交该代码时可以构建一个onmouseover函数的恶意代码,既然onmouseover可以生效,那还有什么办不到的?一些原码程序在变换[url ][/url ]时,只是将[url ]s2[/ url]中的s2直接提交到< a href="s2" target=_blank>S2</a >中.看到如此转换我们可以使用相应的ASCII 码中的& #34;来代替",我们多提交一个"然后在构建onmouseover函数进行操作,后果?你应该知道!:P
[img ]的过滤,这真的算是个老大难的问题.很早以前就是[img]的脚本攻击流行一时啊.这次测试中,很多站点还是仍然存在这个漏洞.有点程序根本没有进行过滤.尤其是一些免费留言板的提供站点很多都存在这样的问题.下面我们主要将一下[IMG ]标签的问题:
很简单的[img ]javascript:alert();[/ img]提交后转换成的代码为< img src="javascript:alert();">,好,到这里我们就可以看到javascript:alert();被< img src="">标签激活了.表现就是弹出对话框.上面写着你在()中要提交的东西.如documents.cookie 呵呵..大多数人都应该知道这东西是做什么.更有甚者,使用document.write();函数,可以写网页.写什么?当然是恶意代码,如[ img]javascript:document.write();[ /img].()中间加你要加的,写你要写的,想多危险就多危险.
高级问题: 由于[img ]的初级问题骚扰很多站点就对一个敏感的字符开始过滤.如ja连接,do连接,wr连接,提交后自动分为j a,d o,w r.或是对字符进行过滤java,document,等等.而这些只能难倒一小部分人.我们仍然可以利用ASCII码来代替.可能有人会对代替后的代码仍然不能正常显示而困惑.好,我们下面以一个完整的例子介绍:
某站点UBB过滤代码段如下:
<%
Function code_ssstrers)
dim strer:strer=strers
if strer="" or isnull(strer) then code_ss"":exit function
strer=replace(strer,"<","<")
strer=replace(strer,">",">")
strer=replace(strer," "," ") '空格
strer=replace(strer,CHR(9)," ") 'table
strer=replace(strer,"'","'") '单引号
strer=replace(strer,"""",""") '双引号
dim re,re_v
re_v="[^/(/)/;/';""/[]*"
're_v=".[^/[]*"
Set re=new RegExp
re.IgnoreCase =True
re.Global=True
re.Pattern="(javascript:)"
strer=re.Replace(strer,"javascript:")
re.Pattern="(javascript)"
strer=re.Replace(strer,"javascript")
re.Pattern="(jscript:)"
strer=re.Replace(strer,"jscript :")
re.Pattern="(js:)"
strer=re.Replace(strer,"js:")
re.Pattern="(value)"
strer=re.Replace(strer,"value")
re.Pattern="(about:)"
strer=re.Replace(strer,"about:")
re.Pattern="(file:)"
strer=re.Replace(strer,"file&:")
re.Pattern="(document.)"
strer=re.Replace(strer,"document :")
re.Pattern="(vbscript:)"
strer=re.Replace(strer,"vbscript :")
re.Pattern="(vbs:)"
strer=re.Replace(strer,"vbs :")
re.Pattern="(on(mouse|exit|error|click|key))"
strer=re.Replace(strer,"on$2")
能看懂ASP的朋友,就可以看出,以上代码段对javascript,jscript:,js:,about;value,document.,onmouse以及onexit等语句进行了过滤和替换.并对一些特殊字符进行了替换.如".",";""(",")" [替换代码为""中间的"..仔细观察代码后我们会发现其过滤机制并非想想象的那样完美.提交:[ mg]& #176& #93& #118& #97& #115& #79rip& #106& #57documen& #115& #76write& #30& #29哈哈又被黑了& #29& #61& #29[/ mg] 类似代码就可以实现更高级的脚本攻击.注:由于很多站点仍存在此问题,所以将代码修改过,无攻击性了.
打开你的FT2000,使用文本编辑,你可以找到任何特殊字符所属的ASCII码.如:分号;可以代替为&# 59,句点.可以代替为&# 46,以这样的形式我们再次提交代码.果然,上面整个的过滤机制几乎完全失效了.根本没起到什么防御作用.
看了以上的攻击方法,是不是觉得很郁闷?如果才能避免上面的问题发生?
1.如果你的站点程序含论坛,留言板,以及其他程序中含提交数据格式的,没有很好过滤机制,请马上下载升级程序或是停止使用.避免造成更多的问题.
2.各提供免费论坛,免费申请留言板的站,请将UBB格式关闭.或找到更好的解析UBB.ASP程序页.
3.对一些会编写ASP的朋友,我建议大家过滤一下字符:(全部字符将写在[]中)如:
["|.|;|:|/|/|&|$|#|`|)|,|'|"|-|~|[|(||] 注:其中|为分割符
4.对于某些站点建议去掉问题比较多的留言板,或是其他含提交的程序.如:原www.sangel.net使用的guestbook,一些不知名的程序体问题更是多多.建议换掉它.
5.我本人也修改了一个国外的留言板,前台基本已经修改完毕.后台这几天正在赶.修改后感觉在文本提交和输入以及留言时都有了很好的过滤.本来打算全采用英文界面,但考虑到N多chinese 对英语不过关,我还是将部分程序汉化了.有兴趣的朋友可以http://www.e3i5.com/guestbook/ 测试.我们欢迎善意的测试.
以下是国内一些经过本人测试的站点的留言板有问题的地址,(请各位站长注意啦,及时修补程序免得造成不必要的麻烦),测试的时间比较短一些,可能有一些站点没有找到.可能存在着更严重的问题.:(
以上就是这次脚本攻击测试的全部内容。综观全部站点,看上去安全性真是的不敢再想.问题多多.
虽然只是举手之劳就可以解决的问题,但稍不小心就会造成大问题。别小看跨站脚本攻击的威力,如果真的灌注的恶意代码,那可就...Yy~汗
发表此文只是对国内各类站点给个提醒,一个安全的站点大家用着放心,使着也舒心.再此也对在这个测试过程中小有得罪的朋友表示歉意.有关该内容更多的请到http://www.e3i5.com 查找.欢迎大家的光临和指导.此文有什么不对的地方,请各位大虾指点.谢谢.
相关推荐
MTK Android 12 Clone Project 克隆项目
本文介绍了如何使用MTK Android 12 Clone Project 克隆一个新的项目。通过使用绝对路径执行Perl脚本,并根据需要选择升级或降级位数,可以成功地生成一个新的项目并进行编译。希望本文对xdm有所帮助。
富文本编辑器的跨站脚本问题参考
转自:茄子 富 文本编辑器是一个开放式的HTML内容编辑环境,必须实现文字样式、链接、图片等功能的HTML,所以用户POST的内容必须含有HTML标签,但是任由 用户输入各类HTML标签,会造成一些潜在的恶意脚本攻击,借这类情况正好分析出现XSS的情况,主要针对IE浏览器. 一.首先是微软建议我们可能造成恶意脚本攻击的标签. 类似如下的 tag: appletbase bas...
YOLOv11改进策略【Conv和Transformer】| IJCAI 2024 利用FreqFormer中的SFA 空间 - 频率注意力和CTA 通道转置注意力 二次改进C3k2
在FreqFormer模型中,SFA(Spatial-Frequency Attention)和CTA(Channel Transposed Attention)模块是关键组成部分,它们针对传统Transformer在图像超分辨率任务中的不足而设计,旨在更好地恢复高频细节,提升模型性能。
网络安全威胁——跨站脚本攻击
跨站脚本攻击(Cross-site Scripting,通常称为XSS),是一种典型的Web程序漏洞利用攻击,在线论坛、博客、留言板等共享平台是跨站脚本攻击的典型目标。
XSS跨站脚本攻击与防御
XSS跨站脚本攻击与防御 1.什么是 XSS ? XSS (Cross Site Scripting),即跨站脚本攻击,是一种常见于 Web 应用中的计算机安全漏洞。恶意攻击者往 Web 页面里嵌入恶意的客户端脚本,当用户浏览此网页时,脚本就会在用户的浏览器上执行,进而达到攻击者的目的。比如获取用户的 Cookie、导航到恶意网站、携带木马等。借助安全圈里面非常有名的一句话:*所有的输入都是有害的...
xss跨站脚本攻击笔记
Cookie是一些数据,存储于你电脑上的文本文件中。当web服务器向浏览器发送 web页面时,在连接关闭后,服务端不会记录用户的信息。Cookie的作用就是用于解决“如何记录客户端的用户信息": (1)、当用户访问web页面时,他的名字可以记录在cookie中。(2)、在用户下一次访问该页面时,可以在cookie中读取用户访问记录。Cookie以键值对形式存储,如下所示: username=John Doe 当浏览器从服务器上请求web页面时,属于该页面的cookie 会被添加到该请求中。
XSS跨站脚本攻击详解(包括攻击方式和防御方式)
人们经常将跨站脚本攻击(Cross Site Scripting)缩写为CSS,但这会与层叠样式表(Cascading Style Sheets,CSS)的缩写混淆。因此,有人将跨站脚本攻击缩写为XSS。XSS(Cross Site Scripting)跨站脚本攻击,是一种网站应用程序的安全漏洞攻击。XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。...
什么是跨站脚本攻击(XSS)
跨站脚本攻击(Cross-site Scripting,通常称为XSS),是一种典型的Web程序漏洞利用攻击。攻击者利用Web程序对用户输入检查不足的漏洞将可执行恶意脚本注入网站或Web应用,当用户访问网页时触发恶意脚本的执行,从而达到窃取用户个人数据、弹出广告,甚至篡改网页内容等攻击目的。在线论坛、博客、留言板等共享平台是跨站脚本攻击的典型目标。 与其他Web攻击类型不同,跨站脚本攻击是一种客户端代码注入攻击,恶意脚本在前端浏览器或Web应用程序等客户端侧执行,而非在后端服务器或数据库执行,最终受害者是访
浅谈XSS跨站脚本攻击
浅谈 跨站脚本攻击(XSS) 一、概述 1、什么是跨站脚本攻击 跨站脚本攻击(Cross Site Scripting),简称XSS, 是指:由于网站程序对用户输入过滤不足,致使攻击者利用输入可以显示在页面上对其他用户造成影响的代码来盗取用户资料、利用用户身份进行某种动作或者对访问者进行病毒侵害的一种攻击方式。 直白点:恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时...
网络安全——跨站脚本攻击
跨站脚本攻击(Cross-site Scripting,通常称为XSS),是一种典型的Web程序漏洞利用攻击,在线论坛、博客、留言板等共享平台是跨站脚本攻击的典型目标。攻击者利用Web程序对用户输入检查不足的漏洞将可执行恶意脚本注入网站或Web应用,当用户访问网页时触发恶意脚本的执行,从而达到窃取用户个人数据、弹出广告,甚至篡改网页内容等攻击目的。
AI 范式越迁:使用 XXL-BOOT SKILL 实现一句话直生业务
使用 XXL-BOOT SKILL 实现一句话直生业务,AI 自动完成需求澄清、数据建模、后端与前端开发、菜单权限配置及联调验证,AI 范式及业务交付进入新时代。
基于Python的爱奇艺视频数据可视化分析系统
长视频平台剧集、评分、热度与评论数据体量大、维度多,手工汇总难以快速把握类型结构、口碑分布与主演导演影响力。系统采用 B/S 架构,后端入口为app.py,运行端口8060;数据库使用 MySQL(库名iqiyi),经 PyMySQL 访问。前台基于 Bootstrap 5、本地中的 ECharts 5 与 echarts-wordcloud,配合主题。业务表包括usersdramascommentsfavorites。数据可通过导入,或经/ 相关脚本补充样本。分析层在。
hls.js 错误日志深度分析,前端 HLS 播放器问题定位实战
读懂 hls.js 输出的错误日志,是 Web HLS 播放器开发的必备能力。很多播放故障并不是前端播放器代码 bug,而是流媒体源、CDN、鉴权、分片损坏导致。借助网页调试工具做对照复现,结合 type、details、fatal 字段,能够快速划分故障责任边界,避免盲目修改前端代码做无效调试,大幅提升 HLS 业务问题排查效率。
线上Web异常发现为什么总是滞后?一套自研Web实时异常分析监控系统整体架构拆解
<think>我们根据要求,需要生成≤150字的文章摘要。文章内容是关于Web端实时异常分析监控系统设计,包括痛点、架构、能力等。摘要需要概括核心内容。注意字数限制。</think>本文围绕Web端实时异常分析监控系统,剖析线上异常排查滞后、复现难、数据割裂等痛点,对比现有方案局限,提出自研分层架构:客户端SDK采集、IndexedDB缓存、双通道上报,后端分析、告警与闭环。系统支持多维度分析、自定义告警、问题追踪,并明确适用边界。
单智能体主流范式全梳理
你是 ReAct(推理+行动)智能体,必须严格按以下格式输出每一轮:Thought: 你的推理和思考过程Action: <<TOOL>>{"name":"工具名","params":{...}}<<TOOL_END>>规则:1. 每轮必须以 Thought: 开头,说明当前需要做什么、为什么这样做2. 如果需要调用工具,紧接着输出 Action: 后面紧跟 <<TOOL>>JSON<<TOOL_END>>3. 如果不需要再调用工具,以 Final Answer: 开头输出最终旅行方案。
进阶实战-CloudStudio云IDE远程开发/云原生开发实战(一)
CSDN 发布信息(发布时填写,不显示):- 标题:云原生开发实战(一)| 完整远程开发闭环:本地同步 → 云端编码 → 一键部署云函数- 分类:云计算- 标签:CloudStudio、云函数、腾讯云、Serverless、云原生、远程开发、CodeBuddy。
最新大数据毕业设计选题推荐-基于大数据的电动汽车故障数据分析与可视化-大数据-Spark-Hadoop-Bigdata
<think>我们只需要根据用户提供的文章内容生成≤150字的摘要。文章主要介绍了一个基于大数据的电动汽车故障数据分析与可视化系统,包括技术栈、功能、背景、意义等。摘要应简洁概括核心内容。注意控制字数。</think>基于Hadoop与Spark的电动汽车故障数据分析可视化系统,融合Spring Boot、Vue、ECharts及MySQL,实现电池数据管理、故障概览与画像分析,以可视化看板呈现健康状态与风险趋势,为故障研判提供数据支撑,并具备技术迁移价值。
第五节:Vue‑Router4 路由配置,布局嵌套路由
不需要登录校验,路由守卫后面再补充。
VUE编程本地环境配置
VUE编程本地环境配置
java基于SSM框架开发的人事管理系统源码(spring+springMVC+mybatis+jsp+mysql)
项目亲自测试,绝对可以正常运行!一、项目介绍:本系统使用JavaEE开发,基于SpringMVC+Mybatis框架,该项目包含了用户管理、部门管理、职位管理、员工管理、 公告管理、下载中心等多个模块,页面使用JQuery框架完成动态功能,用户管理、部门管理等模块包含了项目开发中常用的增删改查动作,下载中心包含了 Spring MVC的文件上传、下载等功能。二、技术介绍:主要框架技术:spring+spring mvc+mybatis+jsp+layui数据库:mysql5.5或5.6或5.7开发工具:Myeclipse或Eclipse或idea、jdk1.8、tomcat8。注:有运行导入指导文档教程(包括数据库导入,源码导入eclipse运行)
923




被折叠的 条评论
为什么被折叠?



