今天看图解http,里面讲了些常见的web攻击技术,写一个博客对其原理及其应对方式进行一个整理

1、xss跨站攻击技术:主要是攻击者往网页里嵌入恶意脚本,或者通过改变html元素属性来实现攻击,主要原因在于开发者对用户的变量直接使用导致进入html中会被直接编译成js,通常的get请求通过url来传参,可以在url中传入恶意脚本,从而获取信息,解决方法:特殊字符过滤。

2、sql注入攻击:主要是就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如select * from test where username="wuxu" or 1=1,这样会使用户跳过密码直接登录,具体解决方案:1、特殊字符过滤,不要用拼接字符串的方法来凑sql语句。2、对sql语句进行预编译,比如java的preparedstatement。3、关闭错误信息,攻击者可能会通过不断的尝试来得到数据库的一些信息,所以关闭错误信息变得重要起来。4、客户端对数据进行加密,使原来传进来的参数因为加密而被过滤掉。5、控制数据库的权限,比如只能select,不能insert,防止攻击者通过select * from test ;drop tables这种操作

3、os命令注入攻击:系统提供命令执行类函数主要方便处理相关应用场景的功能.而当不合理的使用这类函数,同时调用的变量未考虑安全因素,就会执行恶意的命令调用,被攻击利用。主要原因是服务端在调用系统命令时采用的是字符串连接的方式,比如a="a.txt;rm -rf *",system("rm -rf {$a}"),这会给服务端带去惨痛的代价,具体解决方案:1、在程序开发时少用系统命令,执行命令的参数尽量不要从外部获取。2、参数特殊字符过滤

4、http首部注入攻击:看了半天不知道这是啥,网上资料也比较少

5、邮件首部注入攻击:它允许恶意攻击者注入任何邮件头字段,BCC、CC、主题等,它允许黑客通过注入手段从受害者的邮件服务器发送垃圾邮件。主要是利用邮件系统传参的bug来进行攻击,解决方法:1、使用正则表达式来过滤用用户提交的数据。例如,我们可以在输入字符串中搜索(r 或 n)。2、永远不要信任用户的输入。3、使用外部组建和库

6、目录遍历攻击:目录遍历是Http所存在的一个安全漏洞,它使得攻击者能够访问受限制的目录,并在Web服务器的根目录以外执行命令。比如 http://test.webarticles.com/show.asp?view=../../../../../Windows/system.ini,这种url会返回/windows/system.ini给用户,所以服务器上的重要文件就会遭到泄漏,解决方法:根目录访问,现在主流服务器,比如nginx,都会有www根目录,是网站的根目录,所以用户只能访问该根目录下的文件,不能访问其他目录下的文件,从而实现了权限控制。而目录遍历并不是一个漏洞,而是服务器的一个功能,而因为管理员的疏忽从而变成了漏洞

7、远程目录包含攻击,原理就是注入一段用户能控制的脚本或代码,并让服务端执行。比如php中的include($filename),而此filename由用户传入,用户即可传入一段恶意脚本,从而对服务其造成伤害,解决方法:当采用文件包含函数的时候,不应动态传入,而应该有具体的文件名,如果动态传入,要保证动态变量不被用户所控制

8、会话劫持:这是一种通过获取用户Session ID后,使用该Session ID登录目标账号的攻击方法,此时攻击者实际上是使用了目标账户的有效Session。会话劫持的第一步是取得一个合法的会话标识来伪装成合法用户,因此需要保证会话标识不被泄漏,通俗一点就是用户在登录时,唯一标示用户身份的session id被劫持,使得攻击者可以用这个session id来进行登录后操作,而攻击者主要是通过 窃取:使用网络嗅探,XSS攻击等方法获得。而第一种方式网络嗅探,我们可以通过ssl加密,也就是https来对报文进行加密,从而防止报文被截获,而第二种方式xss攻击,方式在第一种已经给出,不再赘述。此外通过设置HttpOnly。通过设置Cookie的HttpOnly为true,可以防止客户端脚本访问这个Cookie,从而有效的防止XSS攻击,还有就是设置token验证。关闭透明化Session ID。透明化Session ID指当浏览器中的Http请求没有使用Cookie来存放Session ID时,Session ID则使用URL来传递。

9、会话固定:会话固定是会话劫持的一种,区别就是,会话固定是攻击者通过某种手段重置目标用户的SessionID,然后监听用户会话状态;用户携带sessionid进行登录,攻击者获取sessionid来进行会话,解决方案:服务端设置用户登录后的sessionid与登录前不一样即可,另外会话劫持的方法也可以用在会话固定上

10、csrf跨站伪造请求攻击:其实就是攻击者盗用了你的身份,以你的名义发送恶意请求。具体原理比较复杂,参考www.cnblogs.com/hyddd/archive/2009/04/09/1432744.html这篇博文,具体方案:1、验证referer字段,这个字段主要是反映了访问某个网页只能有referer发起请求,所以通过referer验证,可以抵御一部分csrf攻击。2、在请求地址中加token验证,攻击者发送恶意请求时,通过token验证来进行身份验证,而token必须是一个攻击者猜不到的,很难去模拟出来的,具体来说可以放在表单的hidden字段中。3、在htttp请求头中定义字段,其实就是将2中说得token字段放入请求头,解决了每次在请求头中加入token的不便,同时在其也不会记录在地址栏里,降低了token泄露的风险。。。。

常见的web攻击技术相关推荐

  1. 前端之常见的web攻击技术

    1)xss跨站攻击技术:主要是攻击者往网页里嵌入恶意脚本,或者通过改变html元素属性来实现攻击,主要原因在于开发者对用户的变量直接使用导致进入html中会被直接编译成js,通常的get请求通过url ...

  2. 常见的Web攻击手段,拿捏了!

    大家好,我是小菜. 一个希望能够成为 吹着牛X谈架构 的男人!如果你也想成为我想成为的人,不然点个关注做个伴,让小菜不再孤单! 本文主要介绍 互联网中常见的 Web 攻击手段 如有需要,可以参考 如有 ...

  3. 常见的web攻击有哪些?如何防御?

    web攻击是什么 Web攻击(WebAttack)是针对用户上网行为或网站服务器等设备进行攻击的行为,如植入恶意代码.修改网站权限.获取网站用户隐私信息等 Web应用程序的安全性是任何基于Web业务的 ...

  4. 几种常见的Web攻击

    几种常见的Web攻击 文章目录 几种常见的Web攻击 一.DoS攻击 1.SYN洪水攻击 2.IP欺骗 3.Land攻击 4.针对DoS攻击的防御 二.CSRF攻击 1. CSRF攻击的发生有三个必要 ...

  5. HTTP通信安全和Web攻击技术

    HTTP通信安全和Web攻击技术 一.HTTPS,确保Web安全 1.1 通信使用明文可能会被窃听 1.1.1 通信的加密(建立安全通信线路) 1.1.2 内容的加密 1.2 不验证通信方的身份就可能 ...

  6. 前端学HTTP之web攻击技术

    前端学HTTP之web攻击技术 前面的话 简单的HTTP协议本身并不存在安全性问题,因此协议本身几乎不会成为攻击的对象.应用HTTP协议的服务器和客户端,以及运行在服务器上的Web应用等资源才是攻击目 ...

  7. 常见的Web攻击方式有哪些?黑客:28种总有一款适合你

    作者:蔚可云2021-01-27 09:41:41 安全应用安全 Web攻击手段,有些可植入恶意代码,有些可获取网站权限,有些还能获取网站用户隐私信息,光常见的Web攻击,就有28种之多,方式多.破坏 ...

  8. 常见的Web攻击.md

    1.ZIP炸弹 zip炸弹就是一个高压缩比的zip文件,它本身可能只有几M或几十M的大小,但是解压缩之后会产生巨大的数据量,会解压到几十G的大小甚至更大,这种zip文件会对解压缩的系统造成严重的资源负 ...

  9. 常见的Web攻击方式:SQL注入、XSS跨站脚本攻击、CSRF跨站点请求伪造

    常见的Web攻击有SQL注入.XSS跨站脚本攻击.跨站点请求伪造共三类,下面分别简单介绍. 1 SQL注入 1.1 原理 SQL注入就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字 ...

最新文章

  1. 云栖社区 测试技术社区大群 正式成立!还在等什么,快来加入我们...
  2. Oracle中dbms_job包的使用
  3. PMcaff专属产品经理的免费培训课,3月8日北京站第一期开课倒计时!
  4. linux上线tomcat安装目录,LINUX 下 tomcat的安装和配置
  5. [发布] 多选控件和时钟控件
  6. 进程之父子进程的关系
  7. 求特殊方程的正整数解
  8. google map flex
  9. Eagle个人博客系统
  10. 二维联合分布(X,Y)求(U,V)
  11. pdf转换成word转换器2014注册码
  12. java计算机毕业设计小型企业财务报销管理源码+lw文档+系统+数据库
  13. linux拷贝文件夹下所有文件
  14. CCF NOIP2018复赛提高组一等奖获奖名单
  15. Minecraft Mod开发:1-配置工作环境
  16. Ele SOA Container
  17. nginx域名反向代理
  18. win11更新启动后黑屏有鼠标(本人亲测有效)
  19. 可可直播电视---开通论坛
  20. nginx.conf配置文件说明

热门文章

  1. 2022 杭电多校 第一场
  2. 计算机网络 数据链路层 扩展以太网-集线器和网桥
  3. docker基础(17):Docker网络之Docker0
  4. pycharm多行注释快捷键
  5. js 基本类型与引用类型的区别(我觉得很棒的一篇文章)
  6. 第十二讲:算数运算符及表达式(项目十二:如何买玫瑰花?)
  7. 荣誉 | 百望云荣登“2022全球独角兽企业500强”榜单
  8. 蓝桥杯真题 15省7-牌型种数 小明被劫持到X赌城,被迫与其他3人玩牌。 一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张。 这时,小明脑子里突然冒出一个问题: 如果不考虑花色,
  9. Dave老师 oracle,我的Dave老师丨陈凌菲
  10. linux 磁盘并发io,Linux系统 磁盘IO过高排查总结