安全测试(一)

转载至:https://blog.csdn.net/u010559128/article/details/79394056

一:安全测试注意事项 
1)要注意白帽子与黑客之间的区别 
2)在挖漏洞挣外快时,注意不要使用安全扫描或暴力破解软件对上线网站进行扫描或攻击。 不要对上线网站造成破坏,不要去获取网站的数据库信息等。否则等待的不是money,而是牢狱啦~~ 
二:web介绍 
1)world wide web 万维网,也被叫做www(3w),非常普遍的互联网应用,每天都有数以亿万计的web资源传输。有html,图片,音频,视频等等组成 
2)web的工作流程 
举个栗子: 


 
细分流程图,安全漏洞根据客户端与服务器端的分布: 

钓鱼:黑客构造一个跟知名网站很相似的网站,吸引用户登录,输入敏感信息,或通过邮件等验证方式,不知不觉中获得用户的登录密码之类的。 
暗链:其实“暗链”就是看不见的网站链接,“暗链”在网站中的链接做的非常隐蔽,短时间内不易被搜索引擎察觉。它和友情链接有相似之处,可以有效地提高PR值。但要注意一点PR值是对单独页面,而不是整个网站。 
暗链一般是把html的框架设置为不可见的,既00或者为负 


xss:跨站脚本攻击。恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。主要指的自己构造XSS跨站漏洞网页或者寻找非目标机以外的有跨站漏洞的网页。 
举个栗子:论坛用户在发帖时,在帖子里写了html代码。当其他用户浏览时,此段代码被执行,导致其他用户看到的东西是一些恶意的东西。 
https://www.2cto.com/article/201209/156182.html 
点击劫持:是一种视觉上的欺骗手段。大概有两种方式,一是攻击者使用一个透明的iframe,覆盖在一个网页上,然后诱使用户在该页面上进行操作,此时用户将在不知情的情况下点击透明的iframe页面;二是攻击者使用一张图片覆盖在网页,遮挡网页原有位置的含义;

CSRF:简单说, 攻击者盗用了你的身份,以你的名义发送恶意请求。

http://www.cnblogs.com/hyddd/archive/2009/04/09/1432744.html 
http://baike.baidu.com/view/1609487.htm?fr=aladdin 


URL跳转:http://localhost:81/url.php?url= 存在URL跳转漏洞的页面 
http://blog.csdn.net/change518/article/details/53997509

sql注入:所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到SQL注入式攻击. 
https://www.cnblogs.com/sdya/p/4568548.html

文件上传/文件包含:上传的附件没有进行过滤,当上传的文件为危险文件时,依然可以上传成功。 比如一句话木马的php文件。 这样很容易服务器的后台被控制

暴力破解:使用一个好的字典,利用工具,暴力破解网站的登录名和密码。 这要求字典一定要有很多常用数据。 字典也可以用python自己写。

浏览器首先想DNS服务器发送请求,获取到ip地址,然后通过IP地址找到相应服务器 


浏览器与服务器的通信靠 http协议。 通过发送http请求,和接收服务器端返回的http响应,来进行交互 
浏览器接收到响应信息后,通过html javascript css 等技术,把相应信息渲染成可视化的图形界面。 截止到这里,为整个web工作流程 


 
三:浏览器 
1)搜索引擎 
浏览器:百度搜索,谷歌hack,bing(用于IP搜索) 
百度搜索语法: 
intitle/title:xxx 限定搜索内容在标题中 
inurl:xxx 限定搜索内容在url中 
filetype:doc 限定文件格式 例子:photoshop实用技巧 filetype:doc 
site:xxx 限定搜索范围在特定的站点中 
双引号“”和书名号《》精确匹配。 同时表达了搜索此不能拆分。 可以试一下搜手机 
-不含特定查询词。 例子:例子:电影 -qvod 或升职记 -太子妃 
+包含特定查询词 
谷歌hack搜索与百度搜索语法相近,在细节处有些不同 
必应bing搜索的语法: 
 
 


不同的搜索引擎对应的不同的数据库和资源。 
网络空间搜索引擎: 


 
Shodan,来自于国外,点击“Details”,可查看详情信息,包括域名、IP、地址、Web技术、对外开放的端口和相应的服务。提供API接口。 
Zoomeye,来自于国内安全公司知道创宇。点击查看详情,包括IP、地址、对外开放的端口和相应的服务。提供API接口。但对中国地区的服务器IP地址做了部分隐藏处理。 
Fofa,来自于国内,提供API接口

在线web工具:www.ipip.net 、www.cmd5.com,www.anquanquan.info 
tips:以谷歌为例。 有时安全漏洞是在前端页面出现时,可以通过禁用js或者css来定位漏洞 
禁用js方法(工具-设置-高级设置-隐私设置-内容设置): 


 
禁用css方法:

 


2) 浏览器插件(特别是火狐) 


四:需要了解的知识(不求精通,但会写简单的以及能看懂所有的代码) 
1)html 
2)javascript 
3)sql 
4)php 
5)web服务器环境 


五:安全测试工具 
web渗透测试工具: 
AWVS ( Acunetix Web Wulnerability Scanner)是一个自动化的Web 应用程序安全测试工具,它可以扫描任何可通过Web 浏览器访问的和遵循 HTTP/HTTPS 规则的 Web站点和 Web应用程序、国内普遍简称WVS。 
WebInspect(企业级漏

HP WebInspect 可提供快速扫描功能、广泛的安全评估范围及准确的 Web 应用程序安全扫描结果。它可以识别很多传统扫描程序检测不到的安全漏洞。利用创新的评估技术,例如同步扫描和审核 (simultaneous crawl and audit, SCA) 及并发应用程序扫描,您可以快速而准确地自动执行 Web 应用程序安全测试和 Web 服务安全测试。WebInspect是最准确和全面的自动化的Web应用程序和Web服务漏洞评估解决方案。

AppScan

对现代 Web 应用程序和服务执行自动化的动态应用程序安全测试(DAST) 和交互式应用程序安全测试 (IAST)。支持 Web 2.0、 JavaScript 和 AJAX 框架的全面的 JavaScript 执行引擎。涵盖 XML 和 JSON 基础架构的 SOAP 和 REST Web 服务测试支持 WSSecurity 标准、 XML 加密和 XML 签名。详细的漏洞公告和修复建议。40 多种合规性报告,包括支付卡行业数据安全标准 (PCI DSS)、支付应用程序数据安全标准 (PA-DSS)、 ISO 27001 和 ISO 27002,以及 Basel II。 
具体讲解信息,详见链接:http://blog.csdn.net/pygain/article/details/52729266 
数据库扫描漏洞工具: 
sqlmap 
Pangolin(穿山甲) 
其他工具: 
Burpsuite(重点,功能很全) 
fiddler 
Nmap(端口扫描) 
Wireshark 
工具大全:http://blog.csdn.net/zj0910/article/details/42294249 
tips:工具只是在一定程度上帮你快速搜索到一些明显的漏洞,但漏洞的具体证实仍需手工进行检验。故不要盲目的依赖工具。

六:常见的安全漏洞 
1、XSS 
xss又叫CSS(Cross-SiteScripting),跨站脚本攻击。恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。主要指的自己构造XSS跨站漏洞网页或者寻找非目标机以外的有跨站漏洞的网页。

2、CSRF 
3、URL跳转 
4、点击劫持

5、SQL注入 
6、命令注入 
7、文件操作漏洞
--------------------- 
作者:小朝阳 
来源:CSDN 
原文:https://blog.csdn.net/u010559128/article/details/79394056 

目录 序 1 前言 3 第1章 绪论 13 1.1 什么是安全测试 13 1.2 什么是Web应用 17 1.3 Web应用基础 21 1.4 Web应用安全测试 25 1.5 方法才是重点 26 第2章 安装免费工具 29 2.1 安装Firefox 29 2.2 安装Firefox扩展 30 2.3 安装Firebug 31 2.4 安装OWASP的WebScarab 32 2.5 在Windows上安装Perl及其软件包 33 2.6 在Linux, Unix或OS X上安装Perl和使用CPAN 34 2.7 安装CAL9000 35 2.8 安装ViewState Decoder 36 2.9 安装cURL 36 2.10 安装Pornzilla 37 2.11 安装Cygwin 38 2.12 安装Nikto 2 39 2.13 安装Burp Suite 40 2.14 安装Apache HTTP Server 41 第3章 基本观察 43 3.1 查看网页的HTML源代码 44 3.2 查看源代码,高级功能 45 3.3 使用Firebug观察实时的请求头 48 3.4 使用WebScarab观察实时的POST数据 52 3.5 查看隐藏表单域 55 3.6 使用TamperData观察实时的响应头 56 3.7 高亮显示JavaScript和注释 59 3.8 检测JavaScript事件 60 3.9 修改特定的元素属性 61 3.10 动态跟踪元素属性 63 3.11 结论 65 第4章 面向Web的数据编码 66 4.1 辨别二进制数据表示 67 4.2 使用Base-64 69 4.3 在网页中转换Base-36数字 71 4.4 在Perl中使用Base-36 71 4.5 使用以URL方式编码的数据 72 4.6 使用HTML实体数据 74 4.7 计算散列值 76 4.8 辨别时间格式 78 4.9 以编程方式对时间值进行编码 80 4.10 解码ASP.NET的视图状态 81 4.11 解码多重编码 83 第5章 篡改输入 85 5.1 截获和修改POST请求 86 5.2 绕过输入限制 89 5.3 篡改URL 90 5.4 自动篡改URL 93 5.5 测试对URL长度的处理 94 5.6 编辑Cookie 96 5.7 伪造浏览器头信息 99 5.8 上传带有恶意文件名的文件 101 5.9 上传大文件 104 5.10 上传恶意XML实体文件 105 5.11 上传恶意XML结构 107 5.12 上传恶意ZIP文件 109 5.13 上传样例病毒文件 110 5.14 绕过用户界面的限制 111 第6章 自动化批量扫描 114 6.1 使用WebScarab爬行网站 115 6.2 将爬行结果转换为清单 117 6.3 减少要测试的URL 120 6.4 使用电子表格程序来精简列表 120 6.5 使用LWP对网站做镜像 121 6.6 使用wget对网站做镜像 123 6.7 使用wget对特定的清单做镜像 124 6.8 使用Nikto扫描网站 125 6.9 理解Nikto的输出结果 127 6.10 使用Nikto扫描HTTPS站点 128 6.11 使用带身份验证的Nikto 129 6.12 在特定起始点启动Nikto 130 6.13 在Nikto中使用特定的会话Cookie 131 6.14 使用WSFuzzer测试Web服务 132 6.15 理解WSFuzzer的输出结果 134 第7章 使用cURL实现特定任务的自动化 137 7.1 使用cURL获取页面 138 7.2 获取URL的许多变体 139 7.3 自动跟踪重定向 140 7.4 使用cURL检查跨站式脚本 141 7.5 使用cURL检查目录遍历 144 7.6 冒充特定类型的网页浏览器或设备 147 7.7 以交互方式冒充另一种设备 149 7.8 使用cURL模仿搜索引擎 151 7.9 通过假造Referer头信息来伪造工作流程 152 7.10 仅获取HTTP头 153 7.11 使用cURL发送POST请求 154 7.12 保持会话状态 156 7.13 操纵Cookie 157 7.14 使用cURL上传文件 158 7.15 建立多级测试用例 159 7.16 结论 164 第8章 使用LibWWWPerl实现自动化 166 8.1 编写简单的Perl脚本来获取页面 167 8.2 以编程方式更改参数 169 8.3 使用POST模仿表单输入 170 8.4 捕获和保存Cookie 172 8.5 检查会话过期 173 8.6 测试会话固定 175 8.7 发送恶意Cookie值 177 8.8 上传恶意文件内容 179 8.9 上传带有恶意名称的文件 181 8.10 上传病毒到应用 182 8.11 使用Perl解析接收到的值 184 8.12 以编程方式来编辑页面 186 8.13 使用线程化提高性能 189 第9章 查找设计缺陷 191 9.1 绕过必需的导航 192 9.2 尝试特权操作 194 9.3 滥用密码恢复 195 9.4 滥用可预测的标识符 197 9.5 预测凭证 199 9.6 找出应用中的随机数 200 9.7 测试随机数 202 9.8 滥用可重复性 204 9.9 滥用高负载操作 206 9.10 滥用限制性的功能 208 9.11 滥用竞争条件 209 第10章 攻击AJAX 211 10.1 观察实时的AJAX请求 213 10.2 识别应用中的JavaScript 214 10.3 从AJAX活动回溯到源代码 215 10.4 截获和修改AJAX请求 216 10.5 截获和修改服务器响应 218 10.6 使用注入数据破坏AJAX 220 10.7 使用注入XML破坏AJAX 222 10.8 使用注入JSON破坏AJAX 223 10.9 破坏客户端状态 224 10.10 检查跨域访问 226 10.11 通过JSON劫持来读取私有数据 227 第11章 操纵会话 229 11.1 在Cookie中查找会话标识符 230 11.2 在请求中查找会话标识符 232 11.3 查找Authentication头 233 11.4 分析会话ID过期 235 11.5 使用Burp分析会话标识符 239 11.6 使用WebScarab分析会话随机性 240 11.7 更改会话以逃避限制 245 11.8 假扮其他用户 247 11.9 固定会话 248 11.10 测试跨站请求伪造 249 第12章 多层面的测试 251 12.1 使用XSS窃取Cookie 251 12.2 使用XSS创建覆盖 253 12.3 使用XSS产生HTTP请求 255 12.4 以交互方式尝试基于DOM的XSS 256 12.5 绕过字段长度限制(XSS) 258 12.6 以交互方式尝试跨站式跟踪 259 12.7 修改Host头 261 12.8 暴力猜测用户名和密码 263 12.9 以交互方式尝试PHP包含文件注入 265 12.10 制作解压缩炸弹 266 12.11 以交互方式尝试命令注入 268 12.12 系统地尝试命令注入 270 12.13 以交互方式尝试XPath注入 273 12.14 以交互方式尝试服务器端包含(SSI)注入 275 12.15 系统地尝试服务器端包含(SSI)注入 276 12.16 以交互方式尝试LDAP注入 278 12.17 以交互方式尝试日志注入 280
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值