第1章 网站脚本入侵与防范概述. 1
1.1 危害严重, 难于防范的Web脚本入侵攻击 1
1.1.1 Web脚本攻击概述及特点 2
1.1.2 入侵者是怎样进入的 4
1.2 脚本漏洞的根源 6
1.2.1 功能与安全难以兼顾 7
1.2.2 安全意识的缺乏 7
第2章 SQL注入, 刺入网站的核心 9
2.1 SQL注入的目标是数据库 9
2.1.1 数据库就是网站的一切内容 10
2.1.2 明白几个SQL中要用到的名词 11
2.1.3 SQL注入攻击中常碰到的几种DBMS 12
2.1.4 提前了解几条SQL注入查询指令 14
2.2 欺骗是如何进行的 16
2.2.1 一个无名小站与一条典型SQL语句 16
2.2.2 创建SQL注入检测的数据库平台 19
2.2.3 搭建一个SQL注入漏洞站点 26
2.2.4 第一次SQL注入攻击测试 29
2.3 SQL注入攻击前奏 31
2.3.1 网站平台决定攻击方式 31
2.3.2 攻击前的准备工作 32
2.3.3 寻找攻击入口 36
2.3.4 区分SQL注入点的类型 42
2.3.5 判断目标数据库类型 43
2.4 or=or绕过不安全的登录框 49
2.4.1 or=or攻击突破登录验证的演示 50
2.4.2 未过滤的request.form造成注入 52
2.5 注入Access数据库全 靠猜解 59
2.5.1 信息很丰富的Select查询 59
2.5.2 使用Select猜解Access表及字段名 66
2.5.3 ASCII逐字解码法猜解字段值 72
2.5.4 三分钟攻陷了一个网站 79
2.5.5 网站是怎样被控制的 89
2.6 为MS SQL带来灾难的高级查询 93
2.6.1 建立MS SQL数据库进行攻击演示 93
2.6.2 有趣的MS SQL出错信息 97
2.6.3 SQL高级查询之Group By和Having 99
2.6.4 报出MS SQL表名和字段名的实例 103
2.6.5 数据记录也“报”错 106
2.6.6 继续前面的“入侵” 108
2.6.7 报出任意表名和字段名 110
2.7 扩展存储过程直接攻击服务器 111
2.7.1 存储过程快速攻击数据库 111
2.7.2 利用NBSI注入控制服务器 113
2.8 构造PHP注入攻击 116
2.8.1 手工PHP注入 116
2.8.2 读取PHP配置文件 118
2.8.3 CASI自动PHP注入 120
第3章 深入SQL注入攻击与防范 123
3.1 一厢情愿的过滤, 缺失单引号与空格的注入 123
3.1.1 转换编码, 绕过程序过滤 124
3.1.2 /**/替换空格的注入攻击 128
3.2 Update注入与差异备份 149
3.2.1 表单提交与Update 149
3.2.2 差异备份获得Webshell 153
3.3 char字符转换与单引号突破 160
3.3.1 \0与单引号的过滤 160
3.3.2 char再次绕过单引号 162
3.4 数据提交与隐式注入 168
3.4.1 修改GroupID, 迅速提升权限 168
3.4.2 隐式注入中的过滤突破 180
3.5 卡住SQL注入的关口 186
第4章 未隐藏的危机——数据库入侵 189
4.1 “暴露”易受攻击——常见数据库漏洞 189
4.2 了解一些数据库连接知识 191
4.2.1 ASP与ADO对象模块 191
4.2.2 ADO对象存取数据库 193
4.2.3 攻击与安全的核心——Access数据库连接代码示例 194
4.3 安全意识的缺乏——默认数据库下载漏洞 195
4.3.1 模拟一个论坛搭建流程 195
4.3.2 被入侵者钻了空子 197
4.3.3 入侵者找空子的流程 199
4.4 数据库被下载, 后果很严重 202
4.5 黑名单, 别上榜 213
4.5.1 看看你是否在榜 213
4.5.2 别懒, 动手解决安全隐患 214
4.6 诡异的Google, 低级的错误 217
4.6.1 很诡异的搜索试验 217
4.6.2 居然能下载 219
4.6.3 Google的暴库分析 221
4.6.4 上一个Include解决问题 223
4.7 为何攻击者偏偏盯上你 223
4.7.1 漏洞站点的挖掘“鸡” 224
4.7.2 网站数据库, 不藏就抓 224
4.7.3 Robots看门, 阻止搜索暴库数据 227
4.8 隐藏数据库, 暴库即知 231
4.8.1 ASP存取Access数据库的例子 231
4.8.2 游戏1:变换编码的魔术 234
4.8.3 魔术的秘密 237
4.8.4 游戏2:奇怪的conn.asp 243
4.8.5 绝对路径与相对路径的纠缠 244
4.8.6 “on error resume next”——补上不算漏洞的漏洞 245
4.9 几个暴库程序的分析.. 247
4.9.1 动感商城购物系统暴库漏洞测试 247
4.9.2 无法下载的ASP数据库——BBSXP的暴库测试 252
4.9.3 带#号的数据库——Oblog博客系统暴库 257
4.9.4 conn.asp搜索暴库 259
4.10 “空白”与插马——GBook365暴库入侵的启示 261
4.10.1 方便了设计者, 也便宜了攻击者的conn.inc 261
4.10.2 乱改后缀的后果 262
4.10.3 黑手后门就是数据库 264
4.10.4 严过滤, 堵住漏洞 270
4.11 由启示引发的一句话木马大攻击 271
4.11.1 “一句话”与数据库过滤不严 271
4.11.2 一句话木马客户端与服务端 272
4.11.3 实例1:一个私服站点的湮灭 272
4.11.4 实例2:一句话入侵EASYNEWS 279
4.11.5 实例3:“社区超市”入侵动网论坛 282
4.11.6 实例4:对未知网站的检测 284
4.11.7 有输入, 便有危险——一句话木马的防范 285
第5章 程序员的疏忽, 过分信任上传 287
5.1 多余映射与上传攻击 287
5.1.1 来自asp.dll映射的攻击 288
5.1.2 别忘了stm与shtm映射 294
5.2 空格. 点与Windows命名机制产生的漏洞 299
5.2.1 加上一个点, 9Cool九酷的另一个漏洞 299
5.2.2 Windows命名机制与程序漏洞 300
5.2.3 变换文件名的游戏 302
5.3 逻辑变量的怪圈, 二次循环产生上传漏洞 307
5.3.1 攻击者“动力”——MyPower上传攻击测试 307
5.3.2 本地提交上传流程分析 312
5.3.3 二次上传产生的逻辑错误 315
5.3.4 再现经典上传, “沁竹音乐网”漏洞分析 317
5.3.5 补又有漏洞的“桃源多功能留言板” 321
5.4 Windows特殊字符, 截断程序过滤 327
5.4.1 脚本入侵探子WSockExpert与上传攻击 328
5.4.2 截止符00与FilePath过滤漏洞 336
5.4.3 00与FileName过滤漏洞 343
5.5 FilePath与Filename变量欺骗大检测 350
5.5.1 桂林老兵上传漏洞利用程序 350
5.5.2 检测天意商务网上传漏洞 357
5.5.3 检测飞龙文章系统上传漏洞 359
5.5.4 检测BlogX上传漏洞 362
5.5.5 检测动网大唐美化版上传漏洞 364
5.5.6 检测尘缘新闻系统上传漏洞 365
5.5.7 检测乔客Joekoe论坛上传漏洞 367
5.5.8 击溃青创文章管理系统 368
5.6 %00与PHP程序的上传漏洞 369
5.6.1 NEATPIC相册系统 369
5.6.2 文件类型过滤不严, phpcms文件上传漏洞 372
5.7 暗藏漏洞的第三方插件 375
5.7.1 导致网站崩溃的FCKeditor 376
5.7.2 无处不在的FCKeditor上传漏洞 378
5.7.3 eWebEditor密码与上传漏洞的结合 382
5.8 意料之外的上传 386
5.8.1 未加权限的上传——沁竹音乐程序上传漏洞 386
5.8.2 ccerer——不受控制的字符过滤游戏 389
5.8.3 上传漏洞藏不住 394
第6章 入门牌的泄露与欺骗——Cookie攻击 397
6.1 混乱的代码与欺骗的实例 397
6.1.1 Cookie信息中的安全隐患 399
6.1.2 进入后台竟然如此简单 399
6.1.3 不是管理员竟然可删帖 405
6.2 深入Cookie信息的修改欺骗 413
6.2.1 数据库与Cookie信息的关系 414
6.2.2 Cookie欺骗与上传攻击的连锁反应 419
6.2.3 修改ID的欺骗入侵 426
6.2.4 ClassID与UserID两个值的欺骗 432
6.2.5 简单用户名的欺骗 436
6.3 Cookie欺骗攻击的多样性 438
6.3.1 巧刷投票, Cookie欺骗的利用 438
6.3.2 Cookie欺骗制作的手机短信炸弹 444
第7章 网站成帮凶, 嫁祸攻击的跨站技术 451
7.1 攻击来源于一段被写入的代码 451
7.1.1 有漏洞的测试网页 452
7.1.2 一个典型的动网跨站攻击示例 455
7.1.3 Cookie的盗取——跨站入侵检测演示之一 457
7.1.4 私服网站挂马——跨站入侵检测演示之二 461
7.2 一句留言, 毁掉一个网站 466
7.2.1 MM_validateForm未过滤, YEYI的跨站检测 466
7.2.2 时代购物系统的跨站入侵检测 473
7.3 圈地谁为王——从Q-Zone攻击看跨站技术的演变 477
7.3.1 不安全的客户端过滤 478
7.3.2 编码转换, 继续跨站 485
7.3.3 Flash跳转, 跳出跨站 488
7.3.4 Flash溢出跨站 493
7.3.5 链接未过滤, 音乐列表跨站 495
7.3.6 外部调用跨站, QQ业务索要的漏洞 500
7.4 邮件中不安全代码, 邮箱跨站挂马 502
7.4.1 由QQ邮箱看邮件跨站危害 503
7.4.2 国内主流邮箱跨站漏洞一览 509
7.5 “事件”出了漏子, 主流博客空间跨站检测 516
7.5.1 不需要<>的跨站, 标记事件属性与跨站 516
7.5.2 百度空间的跨站演变 517
7.5.3 Onstart事件引发的网易博客跨站 524
7.6 “搜索”, 跨站攻击最泛滥之地 526
7.6.1 国内主流搜索引擎跨站 526
7.6.2 利用网页快照进行特殊跨站 538
7.7 跨站脚本攻击的终极防范 546
第8章 打造安全的网站服务器 551
8.1 配置安全的Web服务器 551
8.1.1 删除不必要的IIS组件 551
8.1.2 IIS安全配置 553
8.2 数据库的安全防护 557
8.2.1 Access数据库防下载处理 557
8.2.2 SQL数据库的配置 559
8.3 对网页木马后门的防范和检测 561
8.3.1 删除各种脚本对象以禁止ASP木马运行 561
8.3.2 网页木马后门查找工具 564
8.3.3 设置网站访问权限 565
展开