内容来源:2018年2018年3月31日,斗象科技高级安全研究专家陈鹏在杭州之江饭店会议中心进行《近些年的web漏洞发展趋势》演讲分享。博学网作为主办方,经和讲者审阅授权发布。
从OWAP Top10的变化中可以看出2013年出版和2017年出版的区别,2017年出现了一个新的关键词叫做“XXE”。XXE可以通过一种方式构造一个特殊的word文档,如果把word文档上传到腾讯邮箱之后再在线预览,很有可能就可以读取腾讯服务器的文件,就造成了这个文件的读取。
值得关注的漏洞类型
SQL注入漏洞
order by注入
二阶注入
条件竞争漏洞
HTTP头攻击
SQL注入漏洞(SQL Injection)
SQL Injection,即SQL注入,是指攻击者通过注入恶意的SQL命令,破坏SQL查询语句的结构,从而达到执行恶意SQL语句的目的。
order by注入
Order by注入是没有办法通过传统的参数化查询的方式来防御的所以就导致了现在依然留存有相当数量的SQL注入,而这其中大部分都是order by。
Order by注入修复方法
通过正则表达式进行字符串过滤。只允许字段中出现字母、数字、下划线。
通过白名单思路,使用间接对象引用。前端传递引用数字或者字符串等,用于与后端做数组映射,这样可以隐藏数据库数据字典效果,避免直接引用带来的危害。
二阶注入
攻击者在http请求中提交恶意输入
恶意输入保存在数据库中
攻击者提交第二次http请求
为处理第二次http请求,程序在检索存储在数据库中的恶意输入,构造SQL语句
如果攻击成功,在第二次请求响应中返回结果
二阶注入修复方法
参数化查询
预编译,存储化过程
条件竞争漏洞(Race conditions)
竞争条件发生在多个线程同时访问同一个共享代码、变量、文件等没有进行锁操作或者同步操作的场景中。
条件竞争漏洞修复方法
数据库做加锁处理
采用消息队列处理请求
HTTP头攻击(Host Header Attack)
HTTP头攻击(Host Header Attack)修复方法
引用HTTP头部字段进行必要的检查,过滤特殊字符,判断域名等是否合法.
该如何挖掘这些漏洞
1.orderby注入
关键词:desc,order,asc等
2.二阶注入
几乎只能通过白盒审计挖掘
3.条件竞争漏洞
可能的场景:签到、积分、抽奖、优惠券、订单生成/取消等
工具:burpsuite、PKAV HTTP Fuzzer
4.HTTP头注入
注意对HTTP头部的host、x-forwarded-for、User-Agent等进行注入尝试
自动化插件:Collaborator Everywhere
领取专属 10元无门槛券
私享最新 技术干货