常见的web攻击技术
今天看图解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攻击技术相关推荐
- 前端之常见的web攻击技术
1)xss跨站攻击技术:主要是攻击者往网页里嵌入恶意脚本,或者通过改变html元素属性来实现攻击,主要原因在于开发者对用户的变量直接使用导致进入html中会被直接编译成js,通常的get请求通过url ...
- 常见的Web攻击手段,拿捏了!
大家好,我是小菜. 一个希望能够成为 吹着牛X谈架构 的男人!如果你也想成为我想成为的人,不然点个关注做个伴,让小菜不再孤单! 本文主要介绍 互联网中常见的 Web 攻击手段 如有需要,可以参考 如有 ...
- 常见的web攻击有哪些?如何防御?
web攻击是什么 Web攻击(WebAttack)是针对用户上网行为或网站服务器等设备进行攻击的行为,如植入恶意代码.修改网站权限.获取网站用户隐私信息等 Web应用程序的安全性是任何基于Web业务的 ...
- 几种常见的Web攻击
几种常见的Web攻击 文章目录 几种常见的Web攻击 一.DoS攻击 1.SYN洪水攻击 2.IP欺骗 3.Land攻击 4.针对DoS攻击的防御 二.CSRF攻击 1. CSRF攻击的发生有三个必要 ...
- HTTP通信安全和Web攻击技术
HTTP通信安全和Web攻击技术 一.HTTPS,确保Web安全 1.1 通信使用明文可能会被窃听 1.1.1 通信的加密(建立安全通信线路) 1.1.2 内容的加密 1.2 不验证通信方的身份就可能 ...
- 前端学HTTP之web攻击技术
前端学HTTP之web攻击技术 前面的话 简单的HTTP协议本身并不存在安全性问题,因此协议本身几乎不会成为攻击的对象.应用HTTP协议的服务器和客户端,以及运行在服务器上的Web应用等资源才是攻击目 ...
- 常见的Web攻击方式有哪些?黑客:28种总有一款适合你
作者:蔚可云2021-01-27 09:41:41 安全应用安全 Web攻击手段,有些可植入恶意代码,有些可获取网站权限,有些还能获取网站用户隐私信息,光常见的Web攻击,就有28种之多,方式多.破坏 ...
- 常见的Web攻击.md
1.ZIP炸弹 zip炸弹就是一个高压缩比的zip文件,它本身可能只有几M或几十M的大小,但是解压缩之后会产生巨大的数据量,会解压到几十G的大小甚至更大,这种zip文件会对解压缩的系统造成严重的资源负 ...
- 常见的Web攻击方式:SQL注入、XSS跨站脚本攻击、CSRF跨站点请求伪造
常见的Web攻击有SQL注入.XSS跨站脚本攻击.跨站点请求伪造共三类,下面分别简单介绍. 1 SQL注入 1.1 原理 SQL注入就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字 ...
最新文章
- 云栖社区 测试技术社区大群 正式成立!还在等什么,快来加入我们...
- Oracle中dbms_job包的使用
- PMcaff专属产品经理的免费培训课,3月8日北京站第一期开课倒计时!
- linux上线tomcat安装目录,LINUX 下 tomcat的安装和配置
- [发布] 多选控件和时钟控件
- 进程之父子进程的关系
- 求特殊方程的正整数解
- google map flex
- Eagle个人博客系统
- 二维联合分布(X,Y)求(U,V)
- pdf转换成word转换器2014注册码
- java计算机毕业设计小型企业财务报销管理源码+lw文档+系统+数据库
- linux拷贝文件夹下所有文件
- CCF NOIP2018复赛提高组一等奖获奖名单
- Minecraft Mod开发:1-配置工作环境
- Ele SOA Container
- nginx域名反向代理
- win11更新启动后黑屏有鼠标(本人亲测有效)
- 可可直播电视---开通论坛
- nginx.conf配置文件说明
热门文章
- 2022 杭电多校 第一场
- 计算机网络 数据链路层 扩展以太网-集线器和网桥
- docker基础(17):Docker网络之Docker0
- pycharm多行注释快捷键
- js 基本类型与引用类型的区别(我觉得很棒的一篇文章)
- 第十二讲:算数运算符及表达式(项目十二:如何买玫瑰花?)
- 荣誉 | 百望云荣登“2022全球独角兽企业500强”榜单
- 蓝桥杯真题 15省7-牌型种数 小明被劫持到X赌城,被迫与其他3人玩牌。 一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张。 这时,小明脑子里突然冒出一个问题: 如果不考虑花色,
- Dave老师 oracle,我的Dave老师丨陈凌菲
- linux 磁盘并发io,Linux系统 磁盘IO过高排查总结