图书目录

目  录

第1篇 渗透测试入门

 

第1章  准备实验环境 2

1.1 渗透测试概述 2

1.1.1 渗透测试基本流程 2

1.1.2  关于漏洞 4

1.2 搭建实验环境 5

1.2.1  安装配置VMware 5

1.2.2  Linux系统简介 10

1.2.3  安装配置Kali 12

1.2.4  安装配置CentOS 16

1.2.5  设置Xshell远程登录 23

1.3  搭建LAMP网站平台 25

1.3.1  什么是LAMP 26

1.3.2  安装LAMP 26

1.3.3  安装DVWA 29

1.4 本章小结 31

第2章  靶机1—ME AND 

MY GIRLFRIEND 32

2.1 nmap扫描 34

2.1.1  主机发现 34

2.1.2  端口与socket 35

2.1.3  端口属于传输层概念 37

2.1.4  端口的分类 39

2.1.5  端口扫描 41

2.2 HTTP协议 42

2.2.1  HTTP请求和响应 42

2.2.2  Burp Suite的基本配置和使用 45

2.2.3  HTTP报文结构 53

2.2.4  Web基本概念 55

2.2.5  GET方法和POST方法 59

2.2.6  修改HTTP请求头 65

2.2.7  伪造客户端IP地址 70

2.3  网站前端代码 74

2.3.1  前端和后端 75

2.3.2  查看网页源码 76

2.3.3  HTML基础 77

2.3.4  JavaScript基础 82

2.3.5  修改前端代码 86

2.4  SSH服务 88

2.4.1  SSH概述 88

2.4.2  允许登录系统的用户 89

2.4.3  ssh和scp命令的使用 90

2.4.4  通过SSH登录靶机 92

2.5  sudo提权 93

2.5.1  什么是Shell 94

2.5.2  什么是sudo 95

2.5.3  sudo提权 97

2.6  本章小结 98

 

第3章  靶机2—DC:1 100

3.1  漏洞利用工具 100

3.1.1  CMS识别 101

3.1.2  exploit查找和使用 103

3.1.3  Metasploit基本操作 106

3.1.4  利用pty模块获得系统Shell 110

3.2  suid提权 112

3.2.1  什么是suid 112

3.2.2  查找被设置了suid的文件 113

3.2.3  利用find命令提权 115

3.3  数据库配置文件 117

3.3.1  数据库配置文件的概念 117

3.3.2  数据库操作 119

3.3.3  利用数据库账号撞库 120

3.4  本章小结 121

第4章  靶机3—Lampiao 122

4.1  靶机前期操作 122

4.1.1  全端口扫描 122

4.1.2  Drupal的识别与渗透 123

4.2  脏牛提权 125

4.2.1  查看Linux版本 125

4.2.2  脏牛提权 127

4.3  本章小结 130

 

第2篇 渗透测试提高

 

第5章  靶机4—MR-ROBOT:1 132

5.1 网站目录扫描 132

5.1.1  网站敏感信息 133

5.1.2  响应状态码 136

5.1.3  网站扫描工具 139

5.1.4  扫描靶机 141

5.2  暴破Web登录页面 141

5.2.1  字典去重 141

5.2.2  Burp Suite Intruder模块的使用 143

5.2.3  CTF练习 148

5.2.4  暴破靶机 153

5.3  获取WebShell 154

5.3.1  什么是WebShell 155

5.3.2  Kali中的WebShell 156

5.3.3  安装WordPress 159

5.3.4  定制404页面获取WebShell 162

5.4  MD5和Hash算法 166

5.4.1  Hash算法 167

5.4.2  CTF练习 169

5.5  nmap和脏牛提权 171

5.5.1  利用被设置了suid的nmap提权 172

5.5.2  利用脏牛提权 173

5.6  本章小结 174

第6章  靶机5—QUAOAR 175

6.1 WordPress漏洞利用 175

6.1.1  信息收集 175

6.1.2  利用wpscan进行暴破 177

6.1.3  利用404页面获取WebShell 179

6.1.4  上传插件获取WebShell 180

6.2  一句话木马的原理和使用 183

6.2.1  一句话木马和蚁剑 183

6.2.2  上传一句话木马 186

6.2.3  PHP基础 187

6.2.4  PHP预定义变量 190

6.2.5  PHP中的eval()函数 193

6.3  配置计划任务 194

6.3.1  利用撞库获得root密码 195

6.3.2  Linux计划任务 197

6.4  本章小结 200

第7章  靶机6—DC:6 201

7.1 靶机前期操作 201

7.1.1  hosts文件 201

7.1.2  利用wpscan暴破 203

7.1.3  利用exploit攻击WordPress 204

7.2  命令执行RCE漏洞 205

7.2.1  RCE漏洞原理分析 206

7.2.2  CTF练习 210

7.3  nc反弹Shell 211

7.3.1  利用nc反弹Shell 211

7.3.2  利用sudo和nmap提权 214

7.4  本章小结 217

 

第3篇 SQL注入

 

第8章  SQL注入基础 220

8.1 MySQL基本操作 220

8.1.1  SQL语言 220

8.1.2  查看信息 221

8.1.3  创建/删除数据库或数据表 223

8.1.4  修改数据表 224

8.1.5  select查询 226

8.2  SQL注入的基本原理 227

8.2.1  DVWA的low级别SQL注入 228

8.2.2  如何构造SQL注入payload 230

8.2.3  文本型注入CTF练习 231

8.2.4  注释符和URL编码 232

8.2.5  数字型注入 235

8.3  union联合查询注入 237

8.3.1  union联合查询 238

8.3.2  information_schema元数据库 240

8.3.3  基础union注入 243

8.3.4  标准union注入 245

8.4 sqlmap自动化注入 251

8.4.1  sqlmap基本注入流程 251

8.4.2  伪造User-Agent 255

8.4.3  加载Cookie 256

8.4.4  POST型注入 257

8.5  本章小结 259

第9章  靶机7—HACKME: 1 262

9.1 SQL注入实战 262

9.1.1  解决网站卡顿问题 262

9.1.2  通过SQL注入获取用户信息 264

9.2  获取Shell并提权 267

9.3  本章小结 269

第10章  靶机8—AI:WEB:1 270

10.1 利用SQL注入获取用户信息 270

10.2  Base64编码 272

10.2.1  Base64编码原理 272

10.2.2  Base64编码和解码 274

10.2.3 相关CTF例题 276

10.3  利用SQL注入获取Shell 278

10.3.1  获取网站物理路径 278

10.3.2  通过MySQL读写文件 280

10.3.3  通过手工注入获取Shell 282

10.3.4  通过sqlmap获取Shell 283

10.4  修改passwd文件进行提权 285

10.5  本章小结 287

 

第4篇 文件上传和文件包含

 

第11章  文件上传基础 290

11.1  文件上传代码分析 290

11.1.1  预定义变量$_FILES 290

11.1.2  保存上传的文件 292

11.1.3  DVWA中的文件上传 293

11.2  文件上传的防御与绕过 294

11.2.1  检测MIME类型 294

11.2.2  白名单检测扩展名 296

11.2.3  前端验证 297

11.2.4  黑名单检测扩展名 299

11.2.5  .htaccess绕过 301

11.3  文件上传CTF例题 302

11.3.1  攻防世界-Web-upload1 302

11.3.2  BUUCTF-Web-[ACTF2020 新生赛]

  Upload 302

11.3.3  BUUCTF-Web-[MRCTF2020]

  你传你马呢 303

11.4  本章小结 304

第12章  文件包含基础 305

12.1 文件包含漏洞分析 305

12.1.1 文件包含的作用 305

12.1.2  通过文件包含读取文件 307

12.2  文件包含配合文件上传 309

12.2.1  修改文件头 309

12.2.2  getimagesize绕过 313

12.2.3  exif_imagetype绕过 314

12.2.4  相关CTF例题 315

12.3  文件包含读取文件源码 317

12.3.1  php://伪协议 318

12.3.2  CTF典型例题分析 319

12.4  本章小结 322

第13章  靶机9—

INCLUSIVENESS: 1 323

13.1 FTP服务简介 323

13.1.1  FTP基本操作 323

13.1.2  发现FTP匿名上传 325

13.2 Web渗透测试 326

13.2.1  修改User-Agent 326

13.2.2  文件包含获取Shell 327

13.3 修改环境变量提权 328

13.3.1  发现提权线索 328

13.3.2  PATH环境变量 330

13.3.3  修改环境变量提权 331

13.4  本章小结 332

第14章  靶机10—PWNLAB:INIT 333

14.1 Web渗透测试 333

14.1.1  文件包含获取网页源码 333

14.1.2  上传图片马获取Shell 336

14.2 命令劫持提权 340

14.2.1  命令劫持 340

14.2.2  命令执行 341

14.3  本章小结 343

第15章  靶机11—BILLU:B0X 344

15.1 Web渗透测试 344

15.1.1  获取网页源码 344

15.1.2  SQL注入代码审计 348

15.1.3  获取数据库中的数据 349

15.1.4  文件上传代码审计 351

15.1.5  文件包含代码审计 353

15.2 脏牛提权 355

15.3  本章小结 356