首页 » Web前端 » php跨站剧本技巧_PHP实战之WEB网站常见受进击办法及解决办法

php跨站剧本技巧_PHP实战之WEB网站常见受进击办法及解决办法

访客 2024-10-30 0

扫一扫用手机浏览

文章目录 [+]

常见地决办法:确保输出到HTML页面的数据以HTML的办法被转义

出错的页面的漏洞也可能造成XSS攻击.比如页面/gift/giftList.htm?page=2找不到,出错页面直接把该url原样输出,如果攻击者在url后面加长进击代码发给受害者,就有可能涌现XSS攻击

php跨站剧本技巧_PHP实战之WEB网站常见受进击办法及解决办法

跨站要求假造攻击(CSRF)

跨站要求假造(CSRF,Cross-site request forgery)是另一种常见的攻击。
攻击者通过各种方法假造一个要求,模拟用户提交表单的行为,从而达到修正用户的数据,或者实行特界说务的目的。
为了假冒用户的身份,CSRF攻击常常和XSS攻击合营起来做,但也可以通过其它手段,例如诱利用户点击一个包含攻击的链接

php跨站剧本技巧_PHP实战之WEB网站常见受进击办法及解决办法
(图片来自网络侵删)

办理的思路有:

1.采取POST要求,增加攻击的难度.用户点击一个链接就可以发起GET类型的要求。
而POST要求相比拟较难,攻击者每每须要借助javascript才能实现

2.对要求进行认证,确保该要求确实是用户本人填写表单并提交的,而不是第三者假造的.详细可以在会话中增加token,确保看到信息和提交信息的是同一个人

Http Heads攻击

凡是用浏览器查看任何WEB网站,无论你的WEB网站采取何种技能和框架,都用到了HTTP协议.HTTP协议在Response header和content之间,有一个空行,即两组CRLF(0x0D 0A)字符。
这个空行标志着headers的结束和content的开始。
“聪明”的攻击者可以利用这一点。
只要攻击者有办法将任意字符“注入”到headers中,这种攻击就可以发生

以上岸为例:有这样一个url:

http://localhost/login?page=http%3A%2F%2Flocalhost%2Findex

当登录成功往后,须要重定向回page参数所指定的页面。
下面是重定向发生时的response headers.

HTTP/1.1 302 Moved Temporarily

Date: Tue, 17 Aug 2010 20:00:29 GMT

Server: Apache mod_fcgid/2.3.5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635

Location: http://localhost/index

如果把URL修正一下,变成这个样子:

http://localhost/login?page=http%3A%2F%2Flocalhost%2Fcheckout%0D%0A%0D%0A%3Cscript%3Ealert%28%27hello%27%29%3C%2Fscript%3E

那么重定向发生时的reponse会变成下面的样子:

HTTP/1.1 302 Moved Temporarily

Date: Tue, 17 Aug 2010 20:00:29 GMT

Server: Apache mod_fcgid/2.3.5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635

Location: http://localhost/checkout

alert('hello')

这个页面可能会意外地实行隐蔽在URL中的javascript。
类似的情形不仅发生在重定向(Location header)上,也有可能发生在其它headers中,如Set-Cookie header。
这种攻击如果成功的话,可以做很多事,例如:实行脚本、设置额外的cookie(Set-Cookie: evil=value)等。

避免这种攻击的方法,便是过滤所有的response headers,撤除header中涌现的造孽字符,尤其是CRLF。

做事器一样平常会限定request headers的大小。
例如Apache server默认限定request header为8K。
如果超过8K,Aapche Server将会返回400 Bad Request相应:

对付大多数情形,8K是足够大的。
假设运用程序把用户输入的某内容保存在cookie中,就有可能超过8K.攻击者把超过8k的header链接发给受害者,就会被做事器谢绝访问.办理办法便是检讨cookie的大小,限定新cookie的总大写,减少因header过大而产生的谢绝访问攻击

Cookie攻击

通过Java Script非常随意马虎访问到当前网站的cookie。
你可以打开任何网站,然后在浏览器地址栏中输入:javascript:alert(doucment.cookie),急速就可以看到当前站点的cookie(如果有的话)。
攻击者可以利用这个特性来取得你的关键信息。
例如,和XSS攻击相合营,攻击者在你的浏览器上实行特定的Java Script脚本,取得你的cookie。
假设这个网站仅依赖cookie来验证用户身份,那么攻击者就可以假冒你的身份来做一些事情。

现在多数浏览器都支持在cookie上打上HttpOnly的标记,凡有这个标志的cookie就无法通过JavaScript来取得,如果能在关键cookie上打上这个标记,就会大大增强cookie的安全性

重定向攻击

一种常用的攻击手段是“钓鱼”。
钓鱼攻击者,常日会发送给受害者一个合法链接,当链接被点击时,用户被导向一个似是而非的造孽网站,从而达到骗取用户信赖、盗取用户资料的目的。
为防止这种行为,我们必须对所有的重定向操作进行审核,以避免重定向到一个危险的地方.常见地决方案是白名单,将合法的要重定向的url加到白名单中,非白名单上的域名重定向时拒之,第二种办理方案是重定向token,在合法的url上加上token,重定向时进行验证

上传文件攻击

1.文件名攻击,上传的文件采取上传之前的文件名,可能造成:客户端和做事端字符码不兼容,导致文件名乱码问题;文件名包含脚本,从而造成攻击.

2.文件后缀攻击.上传的文件的后缀可能是exe可实行程序,js脚本等文件,这些程序可能被实行于受害者的客户端,乃至可能实行于做事器上.因此我们必须过滤文件名后缀,打消那些不被容许的文件名后缀.

3.文件内容攻击.IE6有一个很严重的问题 , 它不信赖做事器所发送的content type,而是自动根据文件内容来识别文件的类型,并根据所识别的类型来显示或实行文件.如果上传一个gif文件,在文件末端放一段js攻击脚本,就有可能被实行.这种攻击,它的文件名和content type看起来都是合法的gif图片,然而其内容却包含脚本,这样的攻击无法用文件名过滤来打消,而是必须扫描其文件内容,才能识别。

相关文章

php矩形的面积技巧_PHP版的简单计算器

题目是:功能:定义长方形的宽,和长。显示长方形的面积。步骤:1. 声明两个变量,表示长方形的宽,和高2. 利用长方形面积公式3....

Web前端 2024-12-09 阅读0 评论0