当前位置: 首页 > news >正文

Web代码安全漏洞深度剖析

eec7206f345405def0b87c48fea9a932.gif

在当今互联网高速发展的环境下,信息安全成了热门话题,覆盖个人信息安全、企业信息安全,乃至国家安全。攻击者常常把目标定位在寻找和获取系统源码上,传统IT开发人员从0到1建设系统时,少不了涉及常规化的开发与实施流程,但是在整体系统建设的信息安全方面,投入也许不是很大,直到问题被发现时才会“醒悟”。

白盒测试比黑盒测试更能发现可利用高危漏洞。在发现业务系统有异常时,很多手段与方式都只能“临时解围”。要从根本上提升系统的安全性,一是要注重人为方面的安全,二是要注意系统本身的代码安全,从多个角度审视系统自身存在的问题往往是最有效的解决办法。

这里介绍一本新书《Web代码安全漏洞深度剖析》。

00ab04e8fb2820cf1e9adb35944a7295.pnga29b9155e1e1615b00f4610e275626cb.png

扫码选购↑

这本书深入浅出,系统性地讲解了代码审计技术的方方面面,从常规的环境搭建到漏洞原理均有介绍,再结合实战案例对主流Web安全漏洞进行剖析,对安全技术爱好者、在校大学生、相关领域从业人员等群体来说,这本书是很好的分享,同时也是做白盒安全测试时不可多得的佳作。

5439574d719118685f2bb5f9e3ef6f36.png

955ee3256b27221de582a57dbc7405f0.png

目录

本书赞誉

序言

前言

致谢

第一部分 准备工作

第1章 搭建代码审计环境2

1.1 基于Windows搭建phpStudy2

1.2 基于Linux搭建phpStudy4

1.3 在Linux下利用Docker搭建PHP环境6

1.4 phpStorm远程连接Docker容器14

1.5 小结20

第2章 辅助工具21

2.1 代码调试工具phpStorm+Xdebug21

2.2 火狐浏览器56.0的HackBar和FoxyProxy 26

2.3 抓包工具Burp Suite34

2.4 小结47

第3章 了解目标48

3.1 代码审计的思路与流程48

3.2 漏洞分析前的准备工作52

3.3 php.ini配置53

3.4 小结55

第二部分 常规应用漏洞分析

第4章 SQL注入漏洞及防御58

4.1 SQL注入的原理及审计思路58

4.2 GET型SQL注入防御脚本绕过案例剖析60

4.3 Joomla 注入案例分析67

4.4 SQL 存储显现insert注入案例分析72

4.5 小结81

第5章 跨站脚本攻击及防御82

5.1 XSS简介82

5.2 反射型XSS三次URL编码案例分析88

5.3 存储型XSS案例分析95

5.4 DOM型 XSS案例分析103

5.5 小结107

第6章 跨站请求伪造漏洞及防御109

6.1 CSRF原理109

6.2 GET型CSRF案例分析112

6.3 POST型CSRF分析117

6.4 小结121

第7章 文件类型漏洞及防御122

7.1 文件上传漏洞122

7.2 文件上传漏洞案例剖析124

7.3 文件下载漏洞134

7.4 文件下载漏洞实际案例剖析134

7.5 文件删除漏洞137

7.6 文件删除漏洞实际案例剖析137

7.7 文件包含漏洞140

7.8 本地文件包含日志漏洞案例剖析145

7.9 本地前台图片上传包含漏洞案例剖析153

7.10 远程文件包含漏洞案例剖析156

7.11 小结159

第8章 代码执行漏洞与命令执行漏洞160

8.1 代码执行漏洞的原理160

8.2 代码执行案例剖析165

8.3 反序列化代码执行案例剖析169

8.4 命令执行漏洞178

8.5 命令执行漏洞案例分析182

8.6 小结186

第9章 常规应用漏洞的其他类型187

9.1 XXE漏洞187

9.2 XXE漏洞案例剖析190

9.3 URL 跳转漏洞193

9.4 URL跳转漏洞案例剖析194

9.5 SSRF漏洞198

9.6 SSRF漏洞案例剖析201

9.7 PHP 变量覆盖漏洞203

9.8 变量覆盖漏洞案例剖析210

9.9 小结215

第三部分 业务安全漏洞分析

第10章 短信验证码漏洞及防御218

10.1 短信验证码业务的安全问题及防御思路218

10.2 短信验证码漏洞案例剖析220

10.3 小结228

第11章 会话验证漏洞及防御229

11.1 会话验证的过程229

11.2 Cookie 认证会话漏洞案例剖析230

11.3 Session身份认证漏洞案例剖析234

11.4 小结239

第12章 密码找回漏洞及防御240

12.1 简介240

12.2 密码找回漏洞案例剖析241

12.3 小结246

第13章 支付漏洞及防御247

13.1 简介247

13.2 支付漏洞案例剖析248

13.3 小结253

第14章 越权漏洞及防御254

14.1 简介254

14.2 平行越权案例剖析255

14.3 垂直越权案例剖析259

14.4 小结263

f3bd643940710e5fb5c2ed11fc4c8511.gif

a9fc44e01accda42672aa03312d87d2b.png

扫码关注【华章计算机】视频号

每天来听华章哥讲书

addf487ce7369765bd6680d656b3c8c1.gif

更多精彩回顾

干货 |C++都有哪些就业方向?是否应该学习C++?

书单 | 成为优秀Java开发者,我看了这几本书

上新 |《Core Java》作者亲授视频免费看,学习Java更轻松

资讯 |云原生时代,阿里如何让Java冷启动提速两个数量级?

资讯 | Python迎来31岁生日,蝉联年度编程语言排行榜冠军

干货 |一文带你掌握计算机体系结构核心内容

书讯 | 2月书讯(下)| 新年到,新书到!

书讯 | 2月书讯 (上)| 新年到,新书到!

【赠书】【第96期】夯实基础,突破内卷,不被优化

336124be99c2b902dea947aee417c544.gif

127668b4c7ca4430e42392bb88594799.gif

点击阅读全文购买

相关文章:

  • 金三银四求职季,十道腾讯算法真题解析!
  • 终于有人把辛普森悖论讲明白了
  • 一文带你理解算法策略
  • AI 是否拥有意识?从意识的定义说起
  • 百万在线:大型游戏服务端开发
  • ​什么是bug?bug的源头在哪里?
  • 【第97期】2022 软件工程师状况报告:Go 最抢手
  • Web渗透测试实战:基于Metasploit 5.0
  • 详解六种常见的上下文切换场景
  • 终于有人把Knative讲明白了
  • 赵宏田:用户画像场景与技术实现
  • 商品中台的可视化微前端实践
  • 4月书讯(下)| 上新了,华章
  • 场景拆解六步设计法,手把手教你细化场景
  • 2021年图灵奖出炉!高性能计算鼻祖Jack Dongarra获奖
  • [NodeJS] 关于Buffer
  • Docker入门(二) - Dockerfile
  • Js基础——数据类型之Null和Undefined
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • Terraform入门 - 1. 安装Terraform
  • 动态规划入门(以爬楼梯为例)
  • 类orAPI - 收藏集 - 掘金
  • 前端_面试
  • 前端之React实战:创建跨平台的项目架构
  • 入门到放弃node系列之Hello Word篇
  • 小李飞刀:SQL题目刷起来!
  • ​比特币大跌的 2 个原因
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • #考研#计算机文化知识1(局域网及网络互联)
  • #每天一道面试题# 什么是MySQL的回表查询
  • #免费 苹果M系芯片Macbook电脑MacOS使用Bash脚本写入(读写)NTFS硬盘教程
  • (1/2)敏捷实践指南 Agile Practice Guide ([美] Project Management institute 著)
  • (Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息
  • (Matlab)使用竞争神经网络实现数据聚类
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (解决办法)ASP.NET导出Excel,打开时提示“您尝试打开文件'XXX.xls'的格式与文件扩展名指定文件不一致
  • (五)IO流之ByteArrayInput/OutputStream
  • (小白学Java)Java简介和基本配置
  • (一)硬件制作--从零开始自制linux掌上电脑(F1C200S) <嵌入式项目>
  • .NET core 自定义过滤器 Filter 实现webapi RestFul 统一接口数据返回格式
  • .net6Api后台+uniapp导出Excel
  • .NET导入Excel数据
  • .net实现客户区延伸至至非客户区
  • .net用HTML开发怎么调试,如何使用ASP.NET MVC在调试中查看控制器生成的html?
  • .NET中GET与SET的用法
  • ??如何把JavaScript脚本中的参数传到java代码段中
  • @media screen 针对不同移动设备
  • [Android]使用Android打包Unity工程
  • [Android]竖直滑动选择器WheelView的实现
  • [APIO2012] 派遣 dispatching
  • [BZOJ] 2006: [NOI2010]超级钢琴
  • [BZOJ1060][ZJOI2007]时态同步 树形dp
  • [CSS3备忘] transform animation 等
  • [J2ME]如何替换Google Map静态地图自带的Marker