第 1 章 渗透测试之信息收集 1* b( E4 e5 `5 L6 |3 u; Y! Z9 h& E
1.1 收集域名信息 1# h0 o! `1 C1 D8 _
1.1.1 Whois 查询 1
/ y6 w) ~; {5 |: t+ y5 K1.1.2 备案信息查询 22 m( l2 T$ u; Z
1.2 收集敏感信息 24 W* A& G2 a; A% k
1.3 收集子域名信息 4( K& e* x7 _8 K) p# k* }- L( ], E
1.4 收集常用端口信息 72 `5 E" q' ^* y4 @7 ?& s8 r6 V) f
1.5 指纹识别 10
) @' L! x+ o) @% R/ Qjava8.com3 T1 r8 u" H- l$ |
1.6 查找真实 IP 11
7 `8 @6 B+ S9 V. H `0 e1 K6 N1.7 收集敏感目录文件 . 14% |% k4 c$ q5 Z2 q5 z8 v! L
1.8 社会工程学 15* a& z$ o) \2 g" T& S' s
第 2 章 搭建漏洞环境及实战 17
0 G r3 O/ X5 A2.1 在 Linux 系统中安装 LANMP 17
% W+ ]- E- C; z; y* k2.2 在 Windows 系统中安装 WAMP 19
; |0 ]8 [4 f' l+ O2.3 搭建 DVWA 漏洞环境 21: F% l+ ^5 J$ W3 w
2.4 搭建 SQL 注入平台 23
9 n; u8 }( K. N2.5 搭建 XSS 测试平台 24* [! G+ U$ Y' a* I) Y
第 3 章 常用的渗透测试工具 . 28# j& k; z( ?& f# R6 k0 v8 L5 W
3.1 SQLMap 详解 28: n2 b1 h3 d$ o( z' i. b. P& r
3.1.1 安装 SQLMap 28
5 u& B1 e9 T) U% a& N) Z3.1.2 SQLMap 入门 29
# P% |4 L* h& C F& A/ f) y! n* f0 r3.1.3 SQLMap 进阶:参数讲解 . 36
. V; P& y( ?% Y/ n" [, F3.1.4 SQLMap 自带绕过脚本 tamper 的讲解 404 r& t* l7 W# s" b5 o) ~
3.2 Burp Suite 详解 50' N. y$ C1 A% F/ D: l, a, X
3.2.1 Burp Suite 的安装 50( e: q4 [6 x q, _7 A$ H/ b
3.2.2 Burp Suite 入门 51+ F2 n7 n4 q' S0 o
3.2.3 Burp Suite 进阶 55
" v: x5 o) V; w6 Y4 H0 s% K7 X3.3 Nmap 详解 70
& e4 j) o' z% E9 x3.3.1 安装 Nmap 71) r0 d+ {. t2 _# o8 Q# I
3.3.2 Nmap 入门 71
: ~* l) E0 s4 Q2 t9 ~6 |8 [ o3.3.3 Nmap 进阶 838 m+ E( \. ?. `& H9 h
第 4 章 Web 安全原理剖析 90
: K6 A* ?. ` c, y- `" l. q( P4.1 SQL 注入的基础 90
8 |* G: m+ @: f" A4.1.1 介绍 SQL 注入 90
8 a# F& I( s! D J0 O, b- X4.1.2 SQL 注入的原理 90 @ [# {* d# G; h h4 V1 T' A
4.1.3 与 MySQL 注入相关的知识点 91! h( P+ u( }- }% m2 b1 S' b
4.1.4 Union 注入攻击 957 [9 x# {8 l3 P7 {; H, x4 w
4.1.5 Union 注入代码分析 99' ^; F5 F$ A$ L2 `! m
4.1.6 Boolean 注入攻击 99* H7 D/ ?+ D! M( M. K
4.1.7 Boolean 注入代码分析 103
P8 j Z' h7 k, a" C! C9 r4.1.8 报错注入攻击 1043 W; V; X; i3 P- x
4.1.9 报错注入代码分析 106! m3 u9 ]4 F1 w6 N$ ` j
4.2 SQL 注入进阶 107
% _; @& F! o6 }( d* U; Q0 X: r4.2.1 时间注入攻击 107
) B9 F/ N" h1 h/ g6 w/ F% n4.2.2 时间注入代码分析 109! A$ O( w+ ^2 T3 M- c
4.2.3 堆叠查询注入攻击. 110
$ j6 u- L" D9 E& E! K0 m4.2.4 堆叠查询注入代码分析 112
' S" c; [- R' K# q4.2.5 二次注入攻击 113* S2 H1 U7 ~: ^+ o
4.2.6 二次注入代码分析 114
7 x3 ]. t" s. |' e- a$ l4.2.7 宽字节注入攻击 116( p" Y6 t8 s% i$ [3 f$ m
4.2.8 宽字节注入代码分析 119
) V$ j8 k( G$ O4.2.9 cookie 注入攻击 120* R6 ~4 A, f6 h$ K" M$ L
4.2.10 cookie 注入代码分析 1210 d$ Y4 G# Z- l M$ S
4.2.11 base64 注入攻击 122
4 o+ z) W- Y r* H- I4.2.12 base64 注入代码分析 123) Z, g6 K. K& M9 b& L
4.2.13 XFF 注入攻击 1248 j+ U# ]; m3 K* o8 x
4.2.14 XFF 注入代码分析 1251 F4 J" _. L) B0 @$ f5 |; L" Q
4.3 SQL 注入绕过技术 126
5 O8 b! Y5 R6 S5 e, Q7 D) H4.3.1 大小写绕过注入 1267 G0 f% ?' U* u7 A
4.3.2 双写绕过注入 128
, n S( Q0 N2 L1 h+ E0 ~4.3.3 编码绕过注入 129
~ F) f% J6 c; U% Z: V4.3.4 内联注释绕过注入 131
1 R; s8 j9 G( E6 v! H, l4 L- \4.3.5 SQL 注入修复建议 131
8 G: n: X: T, l9 Z" [4.4 XSS 基础 135
/ D0 `0 R/ ~6 @4.4.1 XSS 漏洞介绍 1355 Z, J! O. e; Q1 N V, {0 b, M
4.4.2 XSS 漏洞原理 135
4 Z2 K" X; a% J4.4.3 反射性 XSS 攻击 . 1372 U; b+ ^. I9 U0 Q( ]
4.4.4 反射型 XSS 代码分析 1389 i( u# }% m0 S5 f. m% E1 W& `
4.4.5 储存型 XSS 攻击 . 139" Y5 U9 D" H4 \
4.4.6 储存型 XSS 代码分析 1402 s. p/ }9 s: }- I; [
4.4.7 DOM 型 XSS 攻击 142
! {& F3 Y: s! F2 n4.4.8 DOM 型 XSS 代码分析 1434 { R' T8 W1 F. f* [
4.5 XSS 进阶 1444 q0 D! \, q) P8 Y' o# @3 F8 {& x
4.5.1 XSS 常用语句及编码绕过 144+ B6 p8 x6 l5 m' P; _; G
4.5.2 使用 XSS 平台测试 XSS 漏洞 145
$ V ?6 h" W1 V* Y4.5.3 XSS 漏洞修复建议 . 148
; ?+ a- z+ J# d# n- P4.6 CSRF 漏洞 1486 i: C# v( I9 G; i2 a( O
4.6.1 介绍 CSRF 漏洞 148
9 v) A4 L9 d1 l) m4.6.2 CSRF 漏洞的原理 148
! y) v. w# z6 h/ E4.6.3 利用 CSRF 漏洞 149
: Z. b( J) p8 M# I/ v g4.6.4 分析 CSRF 漏洞代码 . 1516 \" G2 O+ i, W: s' l3 h! N
4.6.5 CSRF 漏洞修复建议 155
2 i2 f( J" d! y4.7 SSRF 漏洞 155
9 | E9 f! G8 Z' g" W! c# _4.7.1 介绍 SSRF 漏洞 155
& p, v4 Q% l2 ]) \8 l w& D4.7.2 SSRF 漏洞原理 . 155
. o9 D7 n/ Q* z w3 _4.7.3 SSRF 漏洞利用 156
% c% g2 Q7 z2 I. a4.7.4 SSRF 漏洞代码分析 157
+ W+ @# d7 m( j2 w. m% l0 W& c4.7.5 SSRF 漏洞修复建议 157- r4 o9 p, |3 g7 y$ j: \
4.8 文件上传 158
" F7 {) C) r% N0 x9 A4.8.1 介绍文件上传漏洞 158/ K" C7 K6 |3 \- L% m
4.8.2 有关文件上传的知识 158
" `0 R8 @5 D; ]5 j8 M4.8.3 JS 检测绕过攻击 1580 B% Y6 j" K+ \/ ?- Z
4.8.4 JS 检测绕过攻击分析 160
# S2 |8 v# o8 }! G7 E4.8.5 文件后缀绕过攻击 161
$ L2 H3 d- n. P$ v0 Z' m, l4.8.6 文件后缀绕过代码分析 162- B% d7 W9 o8 I/ X" [( B* A& Z
4.8.7 文件类型绕过攻击 . 1631 Z( E) n8 e! S/ I) E4 G
4.8.8 文件类型绕过代码分析 164' _0 T, d- D/ c4 f v% T- i7 ?
4.8.9 文件截断绕过攻击 166
2 r" J& [7 Q8 S* r8 g3 P4.8.10 文件截断绕过代码分析 167
: d+ q1 V9 b- E3 h$ L4.8.11 竞争条件攻击 169
$ v0 f- e) w& I. _( d3 c4.8.12 竞争条件代码分析 169
) _+ {3 E. ]8 x& Y4.8.13 文件上传修复建议 170, j, B7 ?( O7 I; T6 c$ N0 r; X
4.9 暴力破解 170, M3 ` K8 K5 b) J0 m. p
4.9.1 介绍暴力破解漏洞 170
2 w, B' x- j' _9 B f# J4.9.2 暴力破解漏洞攻击 171* v1 ]5 [" X* v Q. t- E' o4 S
4.9.3 暴力破解漏洞代码分析 172
0 X" u! z9 y* z. A" ?! Q* b4.9.4 暴力破解漏洞修复建议 172
! Z6 v8 b F7 R: s; i4.10 命令执行 173
& I- l5 t8 I# z" n0 ?4.10.1 介绍命令执行漏洞 173 s) n+ o; \7 b4 r% p/ I
4.10.2 命令执行漏洞攻击 173
6 {( E* o& y. t B. r4.10.3 命令执行漏洞代码分析 175
3 g) t: D+ }! J% G; g4 U2 t4.10.4 命令执行漏洞修复建议 175
( q- n* a) W8 d2 M/ w! b4.11 逻辑漏洞挖掘 175 ^2 O6 b1 ~7 R9 x7 b9 _
4.11.1 介绍逻辑漏洞 175% Z" v B2 U5 \1 r5 x& A" E
4.11.2 越权访问攻击 1760 X9 R" A. X& ?# B
4.11.3 逻辑漏洞:越权访问代码分析 177! S+ r( R$ N5 D
4.11.4 越权访问修复建议 179
, a% q, a6 n, H6 q3 m4.12 XXE 漏洞 179
1 c; Y2 d j: K* h7 ~. D4.12.1 介绍 XXE 漏洞 179; m$ {! `. B# @; C# O7 ]! N$ A) t
4.12.2 XXE 漏洞攻击 180
2 }) x s9 |( d( A4.12.3 XXE 漏洞代码分析 180" ]4 \; N% o3 D8 d: G1 h5 m* k
4.12.4 XXE 漏洞修复建议 181
! ], X2 s% q# c4.13 WAF 的那些事 181
7 X4 ?! W% f- V( g; M6 g |( k4.13.1 介绍 WAF 1813 g. T7 W8 r% [; z* A6 {5 Y' j
4.13.2 WAF 判断 1828 F$ Z. c8 O. y4 R
4.13.3 一些 WAF 的绕过方法 184
% E( T1 Q4 m2 M第 5 章 Metasploit 技术 188% x. C$ c6 W, o2 b
5.1 Metasploit 简介 188" H$ _8 v, b/ f' d. I8 r! {
5.2 Metasploit 基础 1902 C7 c; h, y1 p5 t: j" ]- m
5.2.1 专业术语 1907 m) d9 s* f+ P; c
5.2.2 渗透攻击步骤 191
1 a5 T: v( e* j& p! {9 K. f- e5 J; K5.3 主机扫描 1918 k( f; L0 s6 G6 x2 ]8 \' ]
5.3.1 使用辅助模块进行端口扫描 191
, t3 c5 ^" k8 x. F& Y0 g. u+ \5.3.2 使用辅助模块进行服务扫描 193
, S8 x1 ^( q6 Z. W: A6 k5.3.3 使用 Nmap 扫描 193
% z; H- W' Q7 C5.4 漏洞利用 195
1 n. h. @- x7 ?( K5 k* w0 u5.5 后渗透攻击:信息收集 199
2 e$ m' {1 s$ R3 |$ g5.5.1 进程迁移 200
! v$ [4 M: @7 C s5.5.2 系统命令 201) x; o" D; h' \
5.5.3 文件系统命令 208$ L# s9 k+ S" n2 D, x: K
5.6 后渗透攻击:权限提升 210
9 k9 K& W, y) V& K1 u* q5.6.1 利用 WMIC 实战 MS16-032 本地溢出漏洞 211
9 m9 q( t5 r7 b2 A3 E! C: z" g5.6.2 令牌窃取 216
% l9 w% L s5 C3 j" K4 G5.6.3 Hash 攻击 2197 c" b/ S" V* @' f' s
5.7 后渗透攻击:移植漏洞利用代码模块 229
$ M4 b' u- |9 O6 O/ O. L5.7.1 MS17-010 漏洞简介、原理及对策 . 229
" g7 `2 Y0 z. T; C! v9 F+ R& c1 G" ?5.7.2 移植并利用 MS17-010 漏洞利用代码 230
' B9 d* U7 v. ^. H, c5.8 后渗透攻击:后门 233
, k( ^. D2 ~1 E* J6 c2 j/ A* I; l5.8.1 操作系统后门 233
( K) o4 T; W V: z5.8.2 Web 后门 237
6 E$ a& X: s0 w9 Z3 |! a2 G5.9 内网攻击域渗透测试实例 242 T# `2 G" ?, P* c' W, c9 P4 o0 B" A
5.9.1 介绍渗透环境 242
8 `0 U. R- o2 o8 i5.9.2 提升权限 242
/ ]' m- X# U9 p! s j6 t4 @8 djava8.com
; U% X& o1 M7 F0 a3 Q: p3 o4 X! q5.9.3 信息收集 245
0 w/ |2 Y2 t- Z1 r. [5.9.4 获取一台服务器的权限 2476 n+ _. D$ D' j4 V
5.9.5 PowerShell 寻找域管在线服务器 2516 Q0 y. F2 k6 @3 z
5.9.6 获取域管权限 252
0 o3 V! w5 Z+ m9 } b6 _/ E& J5.9.7 登录域控制 . 2540 N" u' M2 r4 L: E/ F. R0 E" H8 j
5.9.8 SMB 爆破内网 257- S# I5 X0 ~& L0 ?5 y
5.9.9 清理日志 2591 W* G; z1 W( Z1 o$ S; \; o5 a
第 6 章 PowerShell 攻击指南 261
3 X9 e- k% f& o' Z/ p/ _ d6.1 PowerShell 技术 261" _0 b7 g: ?$ o$ N: b% w
6.1.1 PowerShell 简介 261+ b2 }8 v& I4 _- h3 n* o
6.1.2 PowerShell 的基本概念 263
! G5 ? o, f% F6.1.3 PowerShell 的常用命令 264
# V' _6 ~ F( y0 }" |6.2 PowerSploit 266" L/ G2 i5 F, J
6.2.1 PowerSploit 的安装 . 2667 M0 E- t$ H+ p6 a6 G. x
6.2.2 PowerSploit 脚本攻击实战 . 268
: [" }6 h. S n4 {6.2.3 PowerUp 攻击模块讲解 275
7 |; F: H: m8 x2 h4 v; v6.2.4 PowerUp 攻击模块实战演练 284
6 U8 |; t3 ^( V( \9 Z4 P3 T6.3 Empire . 291
$ Q' i/ |( m0 o2 b# Z, O% @6.3.1 Empire 简介 . 291
4 @# t' {. g0 N! z4 O* k; s$ b6.3.2 Empire 的安装 292% h: M( ^; J, e7 v1 k. [. i3 K% d/ L* r
6.3.3 设置监听 293" _* z, K: X9 ]8 |7 P
6.3.4 生成木马 296, H- `8 t% c- R9 j' y, H- ~( Q
6.3.5 连接主机及基本使用 306. [: \0 C- c0 S: B9 d3 c" j
6.3.6 信息收集 310
8 u, [4 [1 ^/ b I c" Y6.3.7 权限提升 319
# }, ]( R1 s0 F" I6.3.8 横向渗透 324
/ v$ Z$ g9 c! ]3 i! Q2 O* u6.3.9 后门 . 330# Q# X" A, l# D" N5 O
6.3.10 Empire 反弹回 Metasploit . 333
) k* a/ g0 R% a6 N; t" T# G/ r ]7 Q& y6.4 Nishang 334
( h: U! x0 c& ?6 Z0 d7 A6 K7 z" H6.4.1 Nishang 简介 3340 Q( p7 E9 [- T6 s. a4 ^
6.4.2 Nishang 模块攻击实战 338
9 A* f1 u' O1 v6.4.3 PowerShell 隐藏通信遂道 343
6 B6 T* P# ^+ C# L" s) \! E6.4.4 WebShell 后门 347
: @* j: q% g7 \ \0 ^& w c6.4.5 权限提升 348
! E" j v0 s2 ?. \/ _# x& f第 7 章 实例分析 . 364
d: ~4 G m: U$ l6 n7.1 代码审计实例分析 3648 V A4 U( c1 f" M
7.1.1 SQL 注入漏洞 364 Q3 I# O f# j' S7 a2 j% c; e
7.1.2 文件删除漏洞 366
& _ h* s% h) k7.1.3 文件上传漏洞 367- R {6 P: }1 g% d
7.1.4 添加管理员漏洞 373' H( {3 T& g: u) A4 h
7.1.5 竞争条件漏洞 3781 Y* [( u8 ]' D3 L5 ?/ J, {% h
7.2 渗透测试实例分析 3806 ~, s3 v5 J0 E, _
7.2.1 后台爆破 3800 J' Y' b7 n- E$ Y7 E
7.2.2 SSRF Redis 获得 WebShell 383
! w; d- @0 L6 c! j$ ~7.2.3 旁站攻击 388+ l, `$ {4 }4 U$ A& A
7.2.4 重置密码 3918 u' g8 S* ]' E" ?4 W# @
7.2.5 SQL 注入 393
$ S8 N9 B: g. Q+ ?$ B/ E, D# X! m# O& x6 K