代码审计:企业级Web代码安全架构

代码审计:企业级Web代码安全架构

暂无评价综合评分的显示会考虑用户真实性等多项因素,每部作品出现综合评分的时间不定。
7.531 评价豆瓣读书
免费试读
华章满减专场满200减80、满100减30、满50减10活动详情

作品简介

代码审计是企业安全运营以及安全从业者必备的基本技能。本书详细介绍代码审计的设计思路以及所需要的工具和方法,不仅用大量案例介绍了漏洞挖掘方法,而且在代码层和功能设计层剖析了各种安全漏洞的成因与预防策略。对应用开发人员和安全技术人员都有参考价值。

作者:尹毅

作品目录

  1. 序言
  2. 前言
  3. 导读
  4. 第一部分 代码审计前的准备
  5. 第1章 代码审计环境搭建
  6. 1.1 wamp/wnmp环境搭建
  7. 1.2 lamp/lnmp环境搭建
  8. 1.3 PHP核心配置详解
  9. 第2章 审计辅助与漏洞验证工具
  10. 2.1 代码编辑器
  11. 2.2 代码审计工具
  12. 2.3 漏洞验证辅助
  13. 第二部分 漏洞发现与防范
  14. 第3章 通用代码审计思路
  15. 3.1 敏感函数回溯参数过程
  16. 3.2 通读全文代码
  17. 3.3 根据功能点定向审计
  18. 第4章 漏洞挖掘与防范(基础篇)
  19. 4.1 SQL注入漏洞
  20. 4.2 XSS漏洞
  21. 4.3 CSRF漏洞
  22. 第5章 漏洞挖掘与防范(进阶篇)
  23. 5.1 文件操作漏洞
  24. 5.2 代码执行漏洞
  25. 5.3 命令执行漏洞
  26. 第6章 漏洞挖掘与防范(深入篇)
  27. 6.1 变量覆盖漏洞
  28. 6.2 逻辑处理漏洞
  29. 6.3 会话认证漏洞
  30. 第7章 二次漏洞审计
  31. 7.1 什么是二次漏洞
  32. 7.2 二次漏洞审计技巧
  33. 7.3 dedecms二次注入漏洞分析
  34. 第8章 代码审计小技巧
  35. 8.1 钻GPC等转义的空子
  36. 8.2 神奇的字符串
  37. 8.3 php://输入输出流
  38. 8.4 PHP代码解析标签
  39. 8.5 fuzz漏洞发现
  40. 8.6 不严谨的正则表达式
  41. 8.7 十余种MySQL报错注入
  42. 8.8 Windows FindFirstFile利用
  43. 8.9 PHP可变变量
  44. 第三部分 PHP安全编程规范
  45. 第9章 参数的安全过滤
  46. 9.1 第三方过滤函数与类
  47. 9.2 内置过滤函数
  48. 第10章 使用安全的加密算法
  49. 10.1 对称加密
  50. 10.2 非对称加密
  51. 10.3 单向加密
  52. 第11章 业务功能安全设计
  53. 11.1 验证码
  54. 11.2 用户登录
  55. 11.3 用户注册
  56. 11.4 密码找回
  57. 11.5 资料查看与修改
  58. 11.6 投票/积分/抽奖
  59. 11.7 充值支付
  60. 11.8 私信及反馈
  61. 11.9 远程地址访问
  62. 11.10 文件管理
  63. 11.11 数据库管理
  64. 11.12 命令/代码执行
  65. 11.13 文件/数据库备份
  66. 11.14 API
  67. 第12章 应用安全体系建设
  68. 12.1 用户密码安全策略
  69. 12.2 前后台用户分表
  70. 12.3 后台地址隐藏
  71. 12.4 密码加密存储方式
  72. 12.5 登录限制
  73. 12.6 API站库分离
  74. 12.7 慎用第三方服务
  75. 12.8 严格的权限控制
  76. 12.9 敏感操作多因素验证
  77. 12.10 应用自身的安全中心
  78. 参考资源
载入中

热门划线

  1. 实现了跨文件的变量及函数追踪,扫描结果中非常直观地展示了漏洞形成及变量传递过程,误报率非常低。RIPS能够发现SQL注入、XSS跨站、文件包含、代码执行、文件读取等多种漏洞,支持多种样式的代码高亮。比较有意思的是,它还支持自动生成漏洞利用。3 人
  2. 远程文件包含还有一种PHP输入输出流的利用方式,可以直接执行POST代码,这里我们仍然用上面这个代码测试,只要执行POST请求1.php?a=php://input,POST内容为PHP代码“<?php phpinfo();?>”即可打印出phpinfo信息3 人
  3. 另外一个比较好的功能是文件对比。这个功能也是经常会用到的,特别是我们在分析开源程序发布的官方补丁时,比如Phpcms某天发布了一个代码执行漏洞修补补丁,那么我们就可以在官网下载补丁文件,然后利用UltraEdit的文件对比功能来快速找到修改了哪段代码,修改的部分是不是成功修补了这个漏洞,2 人
  4. Scanner(扫描器)用于发现Web程序漏洞,它能扫描出SQL注入、XSS跨站、文件包含、HTTP头注入、源码泄露等多种漏洞2 人
  5. Discuz登录是有登录验证限制的,每个IP只有5次登录失败的尝试机会。我们利用Burp Suite绕过这个登录限制进行密码爆破,2 人
  6. 3)登录认证功能。登录认证功能不是指一个登录过程,而是整个操作过程中的认证,目前的认证方式大多是基于Cookie和Session,不少程序会把当前登录的用户账号等认证信息放到Cookie中,或许是加密方式,是为了保持用户可以长时间登录,不会一退出浏览器或者Session超时就退出账户,进行操作的时候直接从Cookie中读取出当前用户信息,这里就存在一个算法可信的问题,如果这段Cookie信息没有加salt一类的东西,就可以导致任意用户登录漏洞,只要知道用户的部分信息,即可生成认证令牌,甚至有的程序会直接把用户名明文放到Cookie中,操作的时候直接取这个用户名的数据,这也是常说的越权漏洞。2 人
  7. 第二种方式,利用多个英文句号(.)和反斜杠(/)来截断,这种方式不受GPC限制,不过同样在PHP 5.3版本之后被修复2 人
  8. 第三种方式,远程文件包含时利用问号(?)来伪截断,不受GPC和PHP版本限制,只要能返回代码给包含函数,它就能执行2 人
  9. 由于这里的$useid变量就是直接从请求中获取,所以当我们提交用户ID为1,即管理员用户的时候,就可以直接修改管理员密码,利用代码如下:2 人

喜欢这本书的人也喜欢