网站攻击方式有哪些,防止网站被攻击的方法

跨站脚本攻击(XSS) 跨站脚本(XSS)是攻击网站最常见和最基本的方法 。攻击者在网页上发布包含攻击性代码的数据 。当浏览器看到这个网页时,会以用户的身份和权限执行一个特定的脚本 。XSS可以轻松修改用户数据,窃取用户信息,并引发其他类型的攻击,如CSRF攻击 。
常见的解决方案:确保输出到HTML页面的数据在HTML中转义 。
【网站攻击方式有哪些,防止网站被攻击的方法】错误页面的漏洞也可能导致XSS攻击 。比如page /gift/giftList.htm?Page=2找不到,错误页面直接原样输出url 。如果攻击者在url中添加攻击代码并发送给受害者,就可能发生XSS攻击 。
跨站请求伪造攻击(CSRF) 跨站点请求伪造(CSRF)是另一种常见的攻击 。攻击者通过各种方法伪造请求,模仿用户提交表单的行为,从而修改用户的数据或执行特定的任务 。为了假冒用户的身份,CSRF攻击通常与XSS攻击结合使用,但也可以通过其他方式来实现,例如诱导用户单击包含攻击的链接 。
解决方案如下:
1.使用POST请求增加攻击难度 。用户可以通过单击链接来启动获取类型请求 。然而,POST请求相对困难,攻击者通常需要javascript来实现它们 。
2.对请求进行身份验证,确保请求确实是由用户自己填写和提交的,而不是由第三方伪造的 。具体来说,您可以在对话中添加token,以确保同一个人看到并提交信息 。
Http Heads攻击 任何用浏览器浏览任何网站的人,不管你的网站采用什么技术和框架,都使用HTTP协议 。HTTP协议在响应头和内容之间,有空行,也就是两组CRLF(0x0D 0A)字符 。这空行标志着标题的结束和内容的开始 。“聪明的”攻击者可以利用这一点 。只要攻击者有办法将任意字符“注入”到报头中,这种攻击就可能发生 。
以login为例:有这样一个网址:
http://localhost/login?page=http%3A%2F%2Flocalhost%2Findex 成功登录后,您需要重定向回由page参数指定的页面 。以下是重定向发生时的响应头 。
HTTP/1.1 302临时移动
日期:2010年8月17日星期二20:00:29 GMT
服务器:Apache mod _ fc GID/2 . 3 . 5 mod _ auth _ pass through/2.1 mod _ bw limited/1.4 front page/5 . 0 . 2 . 2635
位置: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 那么重定向发生时的响应将如下所示:
HTTP/1.1 302临时移动
日期:2010年8月17日星期二20:00:29 GMT
服务器:Apache mod _ fc GID/2 . 3 . 5 mod _ auth _ pass through/2.1 mod _ bw limited/1.4 front page/5 . 0 . 2 . 2635
位置:http://localhost/checkout
警报(“你好”)
该页面可能会意外执行隐藏在URL中的javascript 。类似的情况不仅发生在Location头中,也发生在其他头中,例如Set-Cookie头 。如果这次攻击成功,可以做很多事情,比如执行脚本,设置额外的cookie(set-cookie:evil = value)等 。
避免这种攻击的方法是过滤所有响应头,并删除头中的非法字符,尤其是CRLF 。
服务器通常会限制请求头的大小 。例如,Apache服务器对请求头的默认限制是8K 。如果超过8K,Aapche服务器将返回400错误请求响应:
大多数情况下,8K已经足够大了 。假设应用程序将用户输入的内容保存在cookie中,它可能会超过8K 。如果攻击者向受害者发送超过8k的头链接,将被服务器拒绝访问 。解决的办法是检查cookie的大小,限制新cookie的总大小写,减少因头文件过多而导致的拒绝访问攻击 。
Cookie攻击 通过Java脚本访问当前网站的cookie是非常容易的 。你可以打开任何一个网站,然后在浏览器的地址栏输入:JavaScript:alert(douc ment . cookie),你就可以立刻看到当前站点的cookie(如果有的话) 。攻击者可以利用这一特性获取您的关键信息 。例如,结合XSS攻击,攻击者在您的浏览器上执行特定的Java Script脚本来获取您的cookie 。假设这个网站仅仅依靠cookie来验证用户的身份,那么攻击者就可以伪造你的身份来做一些事情 。
目前大多数浏览器都支持在cookies上标记HttpOnly 。JavaScript无法获取带有此标记的Cookies 。如果能在密钥cookie上标注这个标记,那么cookie的安全性将大大增强 。
重定向攻击 常见的攻击手段是“钓鱼” 。网络钓鱼攻击者通常会向受害者发送一个合法链接 。点击链接,将用户导向一个似是而非的非法网站,从而达到骗取用户信任,窃取用户数据的目的 。为了防止这种行为,我们必须审核所有重定向操作,以避免重定向到危险的地方 。常见的解决方案是白名单,添加合法的网址重定向到白名单,重定向时拒绝不在白名单上的域名 。第二种解决方案是重定向令牌,将令牌添加到合法的URL,并在重定向时验证它们 。


推荐阅读