Web应用安全 (By Neeao)
2016-04-24 14:39:47 0 举报
AI智能生成
Web应用安全(By Neeao)
作者其他创作
大纲/内容
Web应用安全(By:Neeao)
Web攻击基本知识
什么是Web应用攻击
Web攻击的本质,就是通过HTTP协议篡改应用程序
GUI Web攻击
URL攻击
Web攻击只不过是用一些巧妙的方法操作URL
请求方法、请求头、数据体
资源
三层架构
认证、会话、授权
Web客户端和html
其他协议
Web攻击的特点
广泛性
技术简单性
匿名性
防火墙的可绕过性
安全的不成熟性
不断的变化性
利益性
常见Web安全薄弱点
Web平台
http底层服务器软件攻击,如IIS,apache,asp.net,php
Web应用
授权、认证、站点结构、输入验证、程序逻辑以及管理接口进行攻击。
数据库
SQL注入攻击
Web客户端
活动内容执行、客户端软件漏洞攻击、跨站脚本攻击、钓鱼欺骗等。
传输
窃听客户-服务器通信,SSL重定向
可用性
DOS,CC攻击
如何攻击Web应用程序
Web浏览器
IE、FireFox、
浏览器扩展
与浏览器的继承性;透明性
IE
TamperIE,篡改数据
IEWatch,查看HTTP通信
IE Headers,查看
FireFox
LiveHTTPHeaders,支持数据重放,篡改数据
TamerDate,支持数据篡改
Modify Headers,永久修改值
命令行工具
Curl
NetCat
剖析(信息收集)
简介
剖析是用来研究和查明Web站点如何架构,以及它们的应用程序如何工作的策略。
目的:真正地刺探出应用程序的核心商业逻辑
两部分:
架构剖析
Web应用程序的相对不变的组件上,如IIS、apache
应用剖析
每个应用都是独立的、高度自定制的Web应用程序的独特结构和功能。
踩点和扫描:定义范围
使用各种基于Internet的调查方法,来确定目标应用程序或组织的范围。
Banner抓取:确定目标Web服务器软件的类型及版本。
高级HTTP指纹获取
原因:安全意识提高,新的产品和技术去掉明显的Banner信息,或者返回虚假的信息,欺骗攻击者。
手工判断,累人啊
httprint工具,专业的Web指纹识别工具
中间件架构
虚拟服务器
检测负载均衡器
一个IP段内做端口扫描
时间戳分析
Etag与Last-Moddified差别
负载均衡器Cookies
枚举SSL差别
检测HTML源代码
Detecting Proxies检测代理
TRACE请求
Connect标准检测
一般代理请求
检测Web应用防火墙
URLScan
手工检测
收集信息
静态页面和动态生成页面
HTML源码可能包含注释或联系信息
通过Email地址发动社会工程学攻击
动态url命令规则,分析程序员习惯,猜管理地址
目录结构
可能有管理员目录,站点备份目录,备份目录、数据目录
管理目录:admin、manage、adm
备份文件或日志目录:/.bak/backup/log/logs/archive/old
文件包含目录:/include/inc/js/global/local/
国际化的目录:/cn/en/
常见文件扩展
asp/htm/html/php/jsp/aspx
常见文件
readme.txt/log.txt/install.txt
帮助文件
对所有支持应用程序的文件的统称
CSS
XML样式表
Javascript
包含文件:.inc
其他,HTML中调用动态文件
Java类/Applets/aspx文件
查找.class文件,反编译,查看程序结构
HTML源代码
Html注释
类似文件名的注释
旧代码
自动生成的注释
明显的内容
其它HTML源代码标记
表单
判断数据库字段
查询字符串和参数
可能是数据库的列名,有可能是明显的会话ID,或者还可能包含了用户名
查询字符串指纹识别
分析查询字符串和参数
用户标识符
会话标识符
数据库查询
查找编码/加密值
布尔参数
常见cookies
后端连接
搜索引擎
Google Hack
自动化爬行
扫描工具
Web爬行工具
Lynx
Wget
常见Web应用剖析
开源项目
常用对抗措施
安全是为应用服务的
保护目录
管理目录和Web目录分开存放
保护包含文件
确保不包含口令
修改.inc后缀为asp
javascript文件单独存放,取消其执行权限
发布版本中去掉开发者的注释,防止其出现在internet上
调用文件采用与Web根目录或当前目录的相对路径名,不要使用包含了驱动盘符号或Web文档根目录之外目录的完整路径名,去掉目录遍历字符(../../)
攻击Web平台
使用攻击平台:Metasploit
手工的漏洞利用
BEA-WebLogic漏洞利用
PHP漏洞利用
IIS漏洞利用
检测绕过技术
超长URL绕过日志记录
TRACK隐藏请求
Web平台安全最佳实践
通用最佳实践
执行严格的双向网络访问控制
及时更新安全补丁
不要再源码中放置私密信息
定期为易受攻击的服务器进行网络扫描
能判断自己是否受到了攻击
IIS加固
关闭IIS错误详细信息
不要在系统驱动盘下安装你的Web目录
删除未使用的映射
使用IISLockdown和URLscan
对Web服务器卷总是使用NTFS并恰当地设置访问控制列表(ACL)
移动,更名,删除或限制功能强大的工具、
删除服务器上可写的和可执行ACL中的Everyone和Guest组
仔细检查调用REvertToSelf的ISAPI应用程序并删除它们
加固Apache
禁用不必要的模块
执行ModSecurity
Chrooting Apache
正确地执行SuExec
文档根目录限制
使用CIS的Apache Benchmark
PHP最佳实践
避免由用户输入任何文件名和路径
正确地使用eval()函数
设置register_globals为关闭
攻击Web认证
认证威胁
用户名/密码破解
用户名枚举
用户list
登录中的错误信息
输入的用户名无效
输入的密码无效
输入的用户名和密码无效
比较难以判断用户是否存在
注册提示
账户锁定
会明显减缓密码猜测攻击的进程,配合好的密码策略,会在安全性和可用性间达到很好的平衡
密码猜测
手工密码猜测
自动化工具猜解
溯雪
对策
强密码策略
窃听和重放攻击
基于表单的认证攻击
SQL注入绕过登录,or 1=1
对策:输入验证
更强健的认证
数字证书、SSL加密
复杂的验证码
一次性密码:盛大密宝、口令卡
Web认证服务
SSO
绕过认证
令牌重放
会话ID攻击
Cookies欺骗
加密,防止被窃听,嗅探
使用session
身份管理
用户注册攻击
验证码防范
小结
强健的密码策略和账户锁定策略
输入验证是防范Web站点攻击中起到了很大作用,执行输入验证可防范SQL注入、脚本注入、和命令执行。
攻击Web验证
授权实现的指纹识别
爬行ACL
识别访问/会话令牌
分析会话令牌
差异分析
角色矩阵
攻击ACL
遍历URL
遍历目录
“隐藏“资源
攻击令牌
手动预测
查询字符串
POST数据
HTTP头
User-Agent注入
Cookie
Referer
Cookie欺骗
绕过Cookie过期时间
自动预测
工具扫描
暴力破解
攻击者可以做什么?
水平权限提升
获取当前用户权限一样其他用户权限的攻击
XSS
CSRF
垂直权限提升
升级到更高账户状态或获得更高的许可级别
更改角色
劫持账号
利用其它安全漏洞
不安全的管理功能
一些论坛的后台备份shell漏洞
授权最佳实践
WEB ACL最佳实践
Apache授权
把管理目录集成系统验证
IIS
集成Windows系统登录验证
IP地址限制
Web授权/会话令牌安全
安全性要求高的站点使用SSL
基于RFC2109,使用SetCookies响应头的“Secure”参数来标记Cookie。
不要卷入自己的授权,把安全问题留给安全人员来考虑吧。
不要在令牌中包含个人敏感信息。
一旦改变权限就要重新生成会话ID
强制会话时间限制,关闭重放攻击的窗口
强制限制并发登录,即不允许一个用户同时拥有多个登录会话。
安全日志
配置变更
密码变更
修改其他用户
添加,删除用户
记录操作的来源IP,用户名,时间,等
Dos攻击
应用层的DoS攻击
CC攻击
消耗系统资源,达到拒绝服务目的
数据处理
尽可能缓存处理结果,采用索引来快速获取数据
内存
不要允许用户输入任意长度字符串
尽可能地缓存从数据读取的数据,以减少数据库查询量
用户登录
DoS测试/压力测试
输入验证攻击
介绍
是Web应用程序安全防范的首道防线
SQL注入攻击、脚本攻击(包括跨站脚本攻击)
预料意外的情况
数据存储安全
冒充其他用户
跨站脚本以及“钓鱼”
控制Web服务器
CMDshell
泄漏应用程序内容
缓冲区溢出攻击
获取任意数据访问权限
一个用户访问任意一个用户的数据、添加、删除
哪里寻找攻击载体
GET
POST
Cookies
绕过客户端验证
一切的客户端的验证都是纸老虎
常见的输入验证攻击
缓冲区溢出
转义攻击
跳出Web目录,访问系统文件
FckEditer文件浏览漏洞
高级目录遍历
无目录列表的浏览
步骤
检查错误代码
找到根目录
从Web文档根目录开始往下层遍历
寻找常见的目录
尝试直接访问目录名
对抗措施
最好方法是过滤掉GET和POST参数中所有的圆点字符。解析引擎也需要注意发现以Unicode和十六进制编码表示的圆点字符。
强制所有的读取都从一个特定的目录开始,并使用正则表达式过滤去掉文件名前所有的路径信息。
敏感文件移出Web根目录
脚本攻击
前提
应用程序必须接收用户的输入
应用程序必须显示用户的输入
跨站脚本(XSS)
嵌入式脚本
Cookies和预定义头
将所有的尖括号转换为对应的html编码
服务器端限制输入的长度
需要输入HTML地方,正则严格过滤
边界检查
布尔值变量
数值变量
字符串变量
sql注入和数据存储攻击
执行命令
换行符
连接符、管道符、分号符
编码滥用
字符编码交集
PHP全局变量
常见后果
不一定对程序造成破坏,可以产生详细的错误信息,帮助识别平台的细节,为SQL注入攻击揭示数据库详细信息。
详细错误信息。
使用客户端验证可以提高性能,但并不安全
归一化输入值
采用服务端输入验证
约束字段类型
字符编码和输出验证
白名单、黑名单
安全的处理错误
请求认证
使用最低权限访问法则
容易出现问题的地方
GET请求的每个参数
POST请求的每个参数
表单(电子邮件地址、家庭地址、姓名、注释)
搜索字段
Cookie的值
浏览器环境变量(用户代理、IP地址、操作系统等)
攻击Web存储
SQL注入
无论是ASP、PHP、Jsp、asp.net、Perl
由于缺乏安全编程和数据库安全配置而导致的,并不是缺少数据库本身的安全补丁
发现SQL注入
在参数后面添加一些非法或不期望的字符,然后观察应用程序是否会响应错误信息。
语法和错误
单引号'
分号;
注释分隔符/*
提前终止查询--%20
圆括号()
字符a
POST、GET、Cookie、Http报头
语义和行为(盲注)
返回页面信息来判断
and 1=1/and 1=2
替换数字编码
select/**/column/**/from/**/table/**/where/**/clause
select(space(1))columnt(space(1))fromt(space(1))tablet(space(1))wheret(space(1))clause
利用SQL注入
返回错误仅仅是判断SQL注入可能存在,要想获得数据还需要更多
改变流程
'/*和/*符号,将查询的剩余部分作为注释
--和'--符号,将查询的剩余部分作为注释(替换符号)
or 1=1,试图强制生成true条件
查询替换数据
子查询(Subquery)
联合查询(UNION)
枚举
常用数据库平台
MS access
MS SQL server
MySQL
Oracle
输入验证
丢弃非法字符
拒绝非法字符
使用正确的数据类型
asp.net不应该存在的注入
把数据库从查询逻辑分离出来
参数化查询
存储过程
存储过程安全
数据库配置
为数据库管理和访问分别设立专用账号
使账号仅对与应用程序相关的表具有操作权限
如果可能,使用只读账号
删除高风险的存储过程和扩展函数
使用最新补丁
攻击XML Web服务
什么是Web服务?
Google
攻击Web服务
DISCO和WSDL泄露
泄漏相关配置信息
不要将敏感信息和私有的信息放在XML文件中
对存放的目录进行访问控制
注入攻击
与经典的Web应用程序输入/输出验证相同
外部实体攻击
XML允许一个文档或文件通过使用外部实体而嵌入到原始的XML文档里。实体就像XML的快捷方式,它们允许一个标签与特定文本块或其他数据关联,插入到XML中
对策,禁止外部实体,对XML解析器指定一个处理器,当遇到外部实体时就中止处理。
Xpath注入攻击
使用XML查询语言来查询XML文件中的信息
与SQL注入一样
对策,过滤输入
Web服务安全
认证
SSL加密
XML安全
XML签名
安全性断言标记语言
可扩展访问控制标记语言
攻击Web应用管理
远程服务器管理
系统安全
Web内容管理
SSH/Scp
管理员错误配置
不必要的Web服务器扩展
禁用
信息泄漏
文件、路径和用户泄漏
目录猜解
常见文件名猜测
网站时光倒流机器
用户枚举
Web目录和系统目录卷分开
不要把文件夹和文件名命名成容易猜测的名字。
对存放重要数据的所有文件夹都用认证保护。
状态页面信息泄漏
服务器状态
环境状态
开发者造成的错误
包含文件信息泄漏
.inc文件等
下策,将文件移动到Web目录之外,需要修改源码
中策,将文件后缀修改为.asp,也需要修改源码
上策,将.inc扩展关联到asp.dll,无需修改源码了,^_^。
认证所有远程管理访问
确保所有强健的密码,一定要确保重设了厂商的默认密码
将远程管理限制到一个IP地址或是一个很小的IP地址组
使用能抗窃听的安全通信协议,比如SSL
使用一个单独的服务器作为多个服务器远程管理的终端,而不是在每个Web服务器上都配置管理服务
攻击Web客户端
漏洞利用
实现中的漏洞
Web客户端漏洞,主要是IE浏览器
Java漏洞
Web图像解析漏洞,MS的
对策,主要是及时的更新补丁
设计中的问题
跨域访问
攻击IE 我的电脑
ActiveX漏洞泛滥
FireFox插件的有害方面
XUL语言(XML用户界面语言)
欺骗
社会工程学
钓鱼
过滤用户输入
0 条评论
下一页
为你推荐
查看更多