第 1 章 渗透测试之信息收集 15 r8 o8 a& j% c. n3 t
1.1 收集域名信息 1
R2 z' Q2 ^0 Y* _; Z c! B1.1.1 Whois 查询 16 w& h( v5 \( a: z+ W
1.1.2 备案信息查询 2- y. W6 N6 A/ F, H6 ?' o2 m
1.2 收集敏感信息 2
& q, ^8 A& W" ?1 z9 Z9 k% J8 l K1.3 收集子域名信息 4: z! ^' L* N/ V$ ~& Z- C8 H
1.4 收集常用端口信息 7
6 K1 [+ L1 d6 [+ G1.5 指纹识别 10
+ Y# l1 ?1 F: C( j
java8.com5 x+ M; S6 t( `( ?+ ]% e& _5 G
1.6 查找真实 IP 115 [1 }( O. s4 S$ X
1.7 收集敏感目录文件 . 14
7 l# y2 `# R2 M8 X. j% P) ~& P9 y# g1.8 社会工程学 15' I7 J& d; J* `
第 2 章 搭建漏洞环境及实战 17
! l4 h% s) M, \4 i5 A. q- N2.1 在 Linux 系统中安装 LANMP 17
4 R6 k E i" J2 I& ]2.2 在 Windows 系统中安装 WAMP 19: a! }& c9 ~8 R- g& N
2.3 搭建 DVWA 漏洞环境 217 e" R. F( J, P6 Q% `5 t; F
2.4 搭建 SQL 注入平台 23
$ n3 s7 |" l1 y# T8 Z" s9 E( _" u2.5 搭建 XSS 测试平台 24
: s; n4 E6 R: U4 o$ G" _6 f第 3 章 常用的渗透测试工具 . 28, o$ J! U5 g0 X) o, B* A
3.1 SQLMap 详解 28
; o( A# W! A$ [2 _) @7 b& Y3.1.1 安装 SQLMap 28
' F1 M% f6 [1 {3.1.2 SQLMap 入门 29, ?% ?$ G: w* E7 S
3.1.3 SQLMap 进阶:参数讲解 . 36
/ ?: V2 }) C" ~# Q4 J3.1.4 SQLMap 自带绕过脚本 tamper 的讲解 40& w1 l- M( `& L2 s5 a* p' Y8 v: M3 H: B* q
3.2 Burp Suite 详解 506 }- h" ?# A P+ r1 c/ L
3.2.1 Burp Suite 的安装 50
/ m$ G! Z) d; v7 ^) j) i3.2.2 Burp Suite 入门 51
( I, q3 k! Q9 Q6 v5 I/ ]* e5 s2 H3.2.3 Burp Suite 进阶 55
; S; B) b! s9 {! L$ m# @4 X3.3 Nmap 详解 70
, Z7 z" ]. `; ?+ Z3.3.1 安装 Nmap 717 L' {" l! Z+ V3 j
3.3.2 Nmap 入门 71
. T$ y/ l! k5 i3.3.3 Nmap 进阶 83+ @+ I I3 K+ p7 O/ h z) q- f$ N0 P& L
第 4 章 Web 安全原理剖析 90
1 _! C/ E5 L5 F4 q9 u0 j& ^4.1 SQL 注入的基础 90
: }* m" g5 C; o3 h4.1.1 介绍 SQL 注入 90
1 |9 ^8 s. C& [6 u- _: F8 `4.1.2 SQL 注入的原理 90
: i/ N9 i0 H: q, I5 Q F6 M& Q4.1.3 与 MySQL 注入相关的知识点 91, A$ M4 v/ b6 ^" w/ ?
4.1.4 Union 注入攻击 955 j4 Q" g: h8 e/ p1 N0 F2 p
4.1.5 Union 注入代码分析 99& U* ^$ `6 A9 H4 V
4.1.6 Boolean 注入攻击 99
- H- E) X4 y. _4 I6 V# C; b5 p4.1.7 Boolean 注入代码分析 103
) ?* z9 y& J' B" e7 v/ T4.1.8 报错注入攻击 104
: b/ A9 |: {. U2 F( M* f4.1.9 报错注入代码分析 106$ Q1 P9 Y: ~0 @' _2 R' C6 X c
4.2 SQL 注入进阶 1072 I3 x8 s. Z: W$ D3 k: j! x3 f
4.2.1 时间注入攻击 107
+ k& n) A) d! Y! s) J" R* G/ Q4.2.2 时间注入代码分析 1099 o; Q' D6 i5 _; b8 ^( `
4.2.3 堆叠查询注入攻击. 110
7 W, q" n3 E u: q1 j( \4.2.4 堆叠查询注入代码分析 112
7 o& J+ D) Y3 X' g4.2.5 二次注入攻击 113
! y% t5 c% w% ~& j2 j0 M) z4.2.6 二次注入代码分析 114
6 i+ c" g7 _/ Y; E/ x9 ]* b/ m4.2.7 宽字节注入攻击 116
( x) V$ k- T/ ?4.2.8 宽字节注入代码分析 119
8 O }) {+ N; J; v4.2.9 cookie 注入攻击 1204 {* g; v3 T7 ?0 ]
4.2.10 cookie 注入代码分析 121% `4 [8 a x/ ^% W6 y4 R
4.2.11 base64 注入攻击 122- y; F8 O' p# r; z6 Q$ P
4.2.12 base64 注入代码分析 1237 t- R4 W2 o: V
4.2.13 XFF 注入攻击 124
' S7 d/ R+ ?% u) f" q4.2.14 XFF 注入代码分析 1256 w3 f$ s& X$ y! [7 [1 M. I
4.3 SQL 注入绕过技术 1260 K ], I6 ~1 }$ X1 N) j7 g
4.3.1 大小写绕过注入 126. Z+ x' B" k7 V" H" B
4.3.2 双写绕过注入 128+ b, W9 _: ]. m; ]
4.3.3 编码绕过注入 129( J$ V3 Y& [7 g6 X! p- b
4.3.4 内联注释绕过注入 131. ^- F2 v0 l% h% x; N! g
4.3.5 SQL 注入修复建议 1317 L& O* g+ o* q$ }9 ?
4.4 XSS 基础 135* T2 u: d I/ _+ Q$ E `- D
4.4.1 XSS 漏洞介绍 135: R4 f8 v- H. K0 q# Y" Q) I
4.4.2 XSS 漏洞原理 135
' f! i! {# _& X1 E* s4.4.3 反射性 XSS 攻击 . 1373 O( x7 R/ h7 }: a0 z$ Q8 [, s1 d
4.4.4 反射型 XSS 代码分析 138
: k4 A! S6 c3 {4.4.5 储存型 XSS 攻击 . 139
6 X3 N7 i! H# `: x2 @+ I6 E$ [4.4.6 储存型 XSS 代码分析 140
! U" P1 y+ P! G4.4.7 DOM 型 XSS 攻击 1428 G0 q" K& l0 v- W& T( ?" `
4.4.8 DOM 型 XSS 代码分析 1435 d* g, Y( q+ l2 o. Q7 j$ b) X
4.5 XSS 进阶 144
0 I$ ^% X9 U7 ?8 _% O4.5.1 XSS 常用语句及编码绕过 144' h+ _$ \ [* @# a9 s" I
4.5.2 使用 XSS 平台测试 XSS 漏洞 145, P: L- u1 Y t# M6 R6 v) ?
4.5.3 XSS 漏洞修复建议 . 148$ ]& y$ c1 }" x# R8 R
4.6 CSRF 漏洞 148
% N: b* W- B% q% S& I: s4.6.1 介绍 CSRF 漏洞 148
) V2 w; I8 s r ]2 E" Y6 @( w: l4.6.2 CSRF 漏洞的原理 148+ L' g. p, C& @ n2 H% X2 z
4.6.3 利用 CSRF 漏洞 149
4 B% a3 Q' n& {7 s% L. l4.6.4 分析 CSRF 漏洞代码 . 151
5 {2 C' }" D# y) E# r; z, S2 ~4.6.5 CSRF 漏洞修复建议 155! s0 n, s# G; X. \7 T
4.7 SSRF 漏洞 155- ?0 ?! d% J+ V! \6 a9 U
4.7.1 介绍 SSRF 漏洞 155
( V' i. {' q% ^4.7.2 SSRF 漏洞原理 . 1551 n x7 m% q5 Q, @1 ] Z9 x8 I% m
4.7.3 SSRF 漏洞利用 1569 [* |5 X1 `6 p- V1 J
4.7.4 SSRF 漏洞代码分析 157; }- W1 R& d4 D
4.7.5 SSRF 漏洞修复建议 1575 i! k2 ?4 j6 q2 ^$ S( ^; `
4.8 文件上传 158
& `# x* z/ \6 @# A4 W* h4.8.1 介绍文件上传漏洞 158# N8 P8 M# W9 f) I0 E* {$ L# X
4.8.2 有关文件上传的知识 158
. M1 Q' t }- b \1 _4.8.3 JS 检测绕过攻击 1589 ^% |( R; j, ~+ ?, s2 d& e7 \6 c
4.8.4 JS 检测绕过攻击分析 160
0 z+ g6 i& ?0 z) U( t4.8.5 文件后缀绕过攻击 161
7 \+ Q& S! M" l6 f7 i# R) |4.8.6 文件后缀绕过代码分析 162( c4 @7 ~# h% k
4.8.7 文件类型绕过攻击 . 163) a5 z7 |, J5 }, d' ^3 l9 h" U' X" ^
4.8.8 文件类型绕过代码分析 1648 X# U p0 N I& j- F' S8 _* L- M
4.8.9 文件截断绕过攻击 166
: q: j2 ]6 q$ l, E7 F4.8.10 文件截断绕过代码分析 167! D2 X. P' J7 n B5 H
4.8.11 竞争条件攻击 169
0 B- ]5 O {' h( S; W: ^! _) R4.8.12 竞争条件代码分析 169
" Q, b8 K( V% F6 B4 P5 u4.8.13 文件上传修复建议 170
) Z; `' W5 X5 S9 D% J5 ?4.9 暴力破解 170" e" {2 a* |4 K. r( G
4.9.1 介绍暴力破解漏洞 170
$ t7 d. a: N0 b4.9.2 暴力破解漏洞攻击 171
! ^% l5 p* R7 H: b& f6 |4.9.3 暴力破解漏洞代码分析 172. q, n. t% `$ H. x
4.9.4 暴力破解漏洞修复建议 172
$ M; o0 B) s4 N5 G8 k. C4.10 命令执行 173/ Y8 h6 t5 X7 m- o6 E% {- U
4.10.1 介绍命令执行漏洞 1737 j5 {/ J9 s, o5 q5 U! c# h: l
4.10.2 命令执行漏洞攻击 1738 B3 o0 v, d4 A; N4 h
4.10.3 命令执行漏洞代码分析 175
/ U- C& ]( V1 l d- Z3 k) I4.10.4 命令执行漏洞修复建议 1756 j% x4 L+ @% I. e7 F
4.11 逻辑漏洞挖掘 175) P" Q' b- s1 [
4.11.1 介绍逻辑漏洞 175) r( V8 j# d$ Q$ J
4.11.2 越权访问攻击 176' z/ a% \7 A2 ^# R3 L0 b
4.11.3 逻辑漏洞:越权访问代码分析 177
+ a+ _, y {; @( J( ]( l4.11.4 越权访问修复建议 179
( n+ T* x& n: E$ q+ e- ]8 x4.12 XXE 漏洞 179& L4 [; l: P4 c5 I3 ^$ R
4.12.1 介绍 XXE 漏洞 179, i! B! o4 O/ o5 ?0 j* p: M
4.12.2 XXE 漏洞攻击 180
% A, _9 \# |, s4.12.3 XXE 漏洞代码分析 180
- Z( i; {/ V1 b7 o4.12.4 XXE 漏洞修复建议 181; J4 g- V5 U$ N# c
4.13 WAF 的那些事 181
/ |5 B! u- R: z& `) Q) d0 u4.13.1 介绍 WAF 181
: x; D8 y& n c: P( W4.13.2 WAF 判断 182) F4 T8 _1 o' J5 M
4.13.3 一些 WAF 的绕过方法 1843 B: [% \; u5 d; z/ L
第 5 章 Metasploit 技术 1882 E' T; H9 m% _$ Y+ [! ~3 a
5.1 Metasploit 简介 188( u8 e3 v# ]( ]5 h; r
5.2 Metasploit 基础 1907 h6 N7 q& N- M$ m) Z; m9 \
5.2.1 专业术语 190
$ ?( U7 K A% I* J# ^* u5.2.2 渗透攻击步骤 191
8 |# b O; ~0 X# i2 d5.3 主机扫描 191
& R) H- D4 A- H7 p1 ^5.3.1 使用辅助模块进行端口扫描 191
7 N/ b8 \. s* m* B9 E5.3.2 使用辅助模块进行服务扫描 193
: _! O4 |$ M" C. G0 H! w5.3.3 使用 Nmap 扫描 193
& j8 C2 c- G j3 L1 q" B5.4 漏洞利用 195
# n F% _% o' k: J5 o3 P9 ^5.5 后渗透攻击:信息收集 199
" m: ?: W- F1 |, O- ?- G5.5.1 进程迁移 200; o- T2 F* L! P
5.5.2 系统命令 2016 m' U* ]4 t) }, q; b
5.5.3 文件系统命令 208
8 M- I; e! s. \0 [( g, f5.6 后渗透攻击:权限提升 210
) x, n* j/ r# `6 ]5.6.1 利用 WMIC 实战 MS16-032 本地溢出漏洞 211" M$ {3 b o, v+ \2 x. b
5.6.2 令牌窃取 216
9 v& t" w2 o$ u) e$ s" a0 ~" o5.6.3 Hash 攻击 219
: Z i1 e1 Y6 @4 i6 j. [. k5.7 后渗透攻击:移植漏洞利用代码模块 229
U" n) @: }# E/ g5.7.1 MS17-010 漏洞简介、原理及对策 . 2293 @* t0 F+ `+ G3 c1 Z1 \
5.7.2 移植并利用 MS17-010 漏洞利用代码 2302 \/ `: Y, e& C( q$ z
5.8 后渗透攻击:后门 233
1 W( i, _/ m N4 f3 `, b# f# s5.8.1 操作系统后门 233
; s' H% P) c: Z5 b$ _3 y( y5.8.2 Web 后门 2375 _- ~2 D4 y7 T# K
5.9 内网攻击域渗透测试实例 242
/ k4 `9 G1 H5 `$ _5 d5.9.1 介绍渗透环境 242
* V( G; g# d9 j9 L2 S5 ~) F5.9.2 提升权限 242
/ ^# K7 S% g3 @8 M
java8.com6 X1 u, S( ~) _# n/ R/ r% {
5.9.3 信息收集 245
: z9 Z) J3 I2 y2 p5 P5.9.4 获取一台服务器的权限 2475 X- m( Y' G0 H }, G
5.9.5 PowerShell 寻找域管在线服务器 251+ j& o' h( X0 s
5.9.6 获取域管权限 252
- U0 L5 o8 I9 K5.9.7 登录域控制 . 254
# `2 P- L; D/ s! K5.9.8 SMB 爆破内网 257
2 Q, U) f! ?5 F: g5.9.9 清理日志 259
- r( J8 i4 p, Q( S6 Y1 R第 6 章 PowerShell 攻击指南 261
! E+ Y. }; u7 }+ x$ G8 k3 e6.1 PowerShell 技术 2612 {# ^6 D) K' m% }! {* g! D
6.1.1 PowerShell 简介 261
& n" X, b0 f. b$ D7 n6.1.2 PowerShell 的基本概念 263: w& d* n7 t/ w7 {8 I' {# R
6.1.3 PowerShell 的常用命令 264) B! l0 s& X4 b) k
6.2 PowerSploit 266' Z: T# d* \. Y( y
6.2.1 PowerSploit 的安装 . 2664 _- q; c. o+ s, o/ A
6.2.2 PowerSploit 脚本攻击实战 . 268
5 K& Y/ L+ h8 m/ L" d1 {) G- V6.2.3 PowerUp 攻击模块讲解 2751 Y2 r' n/ p# k% ~
6.2.4 PowerUp 攻击模块实战演练 284
% z* J1 f) D2 H6.3 Empire . 291. m2 I9 |. @' [5 A \
6.3.1 Empire 简介 . 291
4 |5 q5 i9 I# H* k6.3.2 Empire 的安装 292, |; S8 T/ M0 X( Z2 e) T7 j
6.3.3 设置监听 293
- Q! }2 L2 Y; b3 c- ^3 }9 I$ L6.3.4 生成木马 2963 N& D) B) m q" T' n
6.3.5 连接主机及基本使用 306
3 c5 ^- A$ J$ E6.3.6 信息收集 310
" a+ h5 j0 L8 l! z1 c. Z6.3.7 权限提升 319
: I0 s: P* v; l5 f6 i6.3.8 横向渗透 3241 a1 V; q9 D% c2 [. ]1 d3 M4 @* L
6.3.9 后门 . 330* p8 T! C5 V, ^, |
6.3.10 Empire 反弹回 Metasploit . 333
( t8 j( F7 w$ q* I- e6.4 Nishang 334( U, O# i; X9 \2 x- k
6.4.1 Nishang 简介 334* @/ a3 h9 P5 D& U- A
6.4.2 Nishang 模块攻击实战 338* j( W' q/ g0 _2 {6 e& Z
6.4.3 PowerShell 隐藏通信遂道 343
: k' A# s; F" n- W5 D0 y6 T- ]2 n6.4.4 WebShell 后门 347" j$ N( w- k8 @+ W
6.4.5 权限提升 348
2 a# C# T5 }2 y% o! l) K第 7 章 实例分析 . 364) V$ B0 Y8 H1 H
7.1 代码审计实例分析 3649 q0 M1 {. }6 t( ~
7.1.1 SQL 注入漏洞 364
# S! N. T: h! m) r6 }7 A7.1.2 文件删除漏洞 366
. i. \& [0 }6 e4 ^ I7.1.3 文件上传漏洞 367) B6 U$ j- B. p% o! @4 y. [; v
7.1.4 添加管理员漏洞 373
, ?2 G1 N7 @7 w* ]2 Y7.1.5 竞争条件漏洞 3780 v2 Z1 d5 y' g4 p5 i
7.2 渗透测试实例分析 380
: C1 O2 J7 Y4 g8 B% n' k7.2.1 后台爆破 380/ E5 |% p% W& t0 R& u
7.2.2 SSRF Redis 获得 WebShell 383
5 c/ @) D( K4 _# R0 c5 j7.2.3 旁站攻击 388# Q) @) g, {+ O+ ]9 l/ C
7.2.4 重置密码 391
- f4 a. O$ Y$ _7.2.5 SQL 注入 393
1 p N. V) N# T1 n* ]$ a; p7 d) P
9 R* H) J( n5 v* L' ?. I# Y