Web 安全

更新日期: 2015-12-12 阅读次数: 3782 分类: 安全

Quick Links

SQL 注入问题

一定要确定单引号被转义过了。

https://github.com/sqlmapproject/sqlmap

域名反查 IP

http://sameip.org/

web 服务需要注意的

  • 隐藏版本号。例如,Nginx
  • 隐藏目录结构
  • debug 关闭
  • static + 相对目录造成代码或者配置文件泄漏

JSON hijacking/JSON 劫持漏洞

hijacking - 劫持

Javascript 获取服务端用户数据的方式分两种

  • 同域下使用 ajax 请求即可
  • 跨域时使用 script 标签,添加 callback

JSON hijacking 即是通过对第二种情况,在三方页面中加入该 script 标签,将 callback 写成邪恶的逻辑。 例如,发送用户数据到自己后台等。

修复方案:

  • 同域尽量使用 xmlhttp 的 ajax 方式
  • 如果非要跨域,那么,严格限制 referer,因为前端 referer 不可伪造,但是如果同时存在 XSS,那么这种方案就会失效。
  • 类似与 CSRF 的 token 机制,但是如果同时存在 XSS,仍会失效。

参考:

XSS - Cross Site Scripting 跨站脚本

分类:

  • DOM-based XSS (非常驻型, 常驻型)
  • 存储型 XSS (常驻型)
  • 反射型 XSS (非常驻型, )

反射型,是构造带有恶意代码参数的URL,诱骗用户点击之后,触发以获取用户敏感信息。 我就写过这种 bug,对用户输入的数据没有任何校验,escape,就返回到了页面上。

DOM-based XSS 比较特殊。这个属于前端 JS 代码的 bug,例如百度翻译的那个案例, 根据搜索词条,拉取百度百科中对应的信息。 由于前端页面采用了 innerHTML 插入页面,并且没有做 escape, 所以恶意用户就可以在百度百科中做手脚,加入恶意 javascript。 间接达到了在百度翻译中生效的结果。

XSS 利用了 HTML,以及 javascript 的语法漏洞,所以得对各种特殊符号进行转义

单引号
双引号
尖括号
&
%
*

参考:

请求伪造

两种类型

  • cross-site request forgery 跨站点请求伪造 CSRF/XSRF
  • on-site request forgery 本站点请求伪造

当用户浏览 flash 或者三方恶意网站时,js/flash 会让用户在感知不到的情况下发起 CGI 请求,可能造成用户在服务端数据被篡改。 原因是,浏览器向目标网站发送 ajax 请求时,会附带上该网站在浏览器本地的 cookie,所以即使是在访问三方网站,也会将 cookie 传到原服务器。

  • 图片验证码
  • 表单 Token
  • 验证 referer

Click Hijacking

是一种视觉欺骗手段,在web端就是iframe嵌套一个透明不可见的页面,让用户在不知情的情况下,点击攻击者想要欺骗用户点击的位置。

防御方法:

禁止页面被三方站点嵌入。

<script>
if (self == top) {
    var theBody = document.getElementsByTagName('body')[0];
    theBody.style.display = "block";
} else {
    top.location = self.location;
}
</script>

参考:

重定向漏洞

用户默认认为网站里的链接,或者跳向的链接是安全的,特别是界面风格一致的情况下。 例如,防止登录之后,next 指向了三方钓鱼网站。

危害:

  • 在钓鱼站里骗取用户密码
  • 交易行为
领取阿里云/腾讯云服务器优惠券

关于作者

我是来自山东烟台的一名开发者,喜欢瞎折腾,顺便记记笔记。有敢兴趣的话题,欢迎加微信 zhongwei 聊聊。 白天写程序,晚上哄熊孩子,可能回复有点慢,见谅。 查看更多联系方式

相关文章

爱评论不评论

近期节日

2020年04月01日 愚人节
2020年04月02日 国际儿童图书日
2020年04月03日 寒食节
2020年04月04日 清明节
2020年04月07日 世界卫生日
2020年04月11日 世界帕金森病日
2020年04月19日 谷雨
2020年04月21日 复活节
2020年04月22日 世界地球日
2020年04月23日 世界读书日
2020年04月26日 知识产权日
2020年04月30日 佛诞
查看更多节日