2017-2018-2 20179202《网络攻防技术》第五周做业

漏洞分析之数据库评估(一)

BBQSQLphp

一种用Pyhthon写的SQL盲注框架。当发动QL注入漏洞攻击时,它将很是有用。BBQSQL是半自动工具,容许许多难以触发的SQL注入变得用户化。BBQSQL最重要的是它不关心数据或数据库。mysql

DBPwAuditlinux

功能:经过挂载字典对目标数据库进行密码暴力猜解,目前支持的数据库包括SQLServer、MySQL、Oracle、DB2web

破解SQLServer数据库命令实例:sql

./dbpwaudit -s IP -d master(数据库名称) -D mssql(数据库类型) -U username(字典) -P password(字典)shell

破解MySQL数据库命令实例:数据库

./dbpwaudit -s IP -d MySQL(数据库名称) -D mysql(数据库类型) -U username(字典) -P password(字典)windows

HexorBase浏览器

图形化的密码破解与链接工具,支持MySQL、Oracle、PostgreSQL、SQLite和SQL Server五大主流数据库。它容许安全人员指定用户字典和密码字典,而后实施字典攻击。同时,它还提供对应的图形界面客户端,容许安全人员使用破解出的用户名和密码,对数据库进行远程管理。安全

jSQL

jSQL是一款Java开发的轻量级远程服务器数据库注入漏洞测试工具,且免费、开源、跨平台 (Windows, Linux, Mac OS X, Solaris)。将存在注入漏洞的URL贴进去便可进行响应的漏洞利用。

MDBTools

包括MDB-Export,以及MDB-Dump,mdb-parsecsv,mdb-sql,mdb-tables等子工具

Oracle Scanner

OScanner 是基于Java开发的一个Oracle评估框架。它有一个基于插件的架构并附带几个插件,目前能够实现:

  • Sid枚举
  • 密码测试(常见&字典)
  • 枚举Oracle版本
  • 枚举帐号权限
  • 枚举帐号哈希
  • 枚举审计信息
  • 枚举密码策略
  • 枚举数据库连接

SIDGuesser

针对Oracle的SID进行暴力枚举的工具。
SID为Oracle实例名,Oracle链接字符串,经过实例名+用户+密码链接。当用户但愿远程链接Oracle数据库时,则须要知道SID、用户名、密码及服务器的IP地址。

sqldict

SQLdict是一个Windows程序,是一款用户名密码枚举工具,运行时会自动调用Kali Linux内置的Wine组件。渗透测试人员只要指定目标IP地址、帐户名和密码字典,就能够实施密码爆破。

漏洞分析之数据库评估(二)

tnscmd10g

容许向Oracle数据库注入数据。

Sqlsus

一个开放源代码的MySQL注入和接管工具,sqlsus使用perl编写,基于命令行界面。Sqlsus能够获取数据库结构,注入本身的SQL语句,从服务器下载文件,爬行web站点可写目录,上传和控制后门,克隆数据库等。最好用的两点就是注射获取数据速度很是快,另一个最大的特色就是自动搜索可写目录。

使用时,首先使用sqlsus -g test.conf生成一个配置文件。在配置文件中,设置注入路径以及注入的各项参数,如修改our $url_start = “”,引号里写入输入注入点。而后使用sqlsus test.conf命令加载该文件,实施渗透测试(get databases获取数据库,set database 设定数据库,get tables获取表)。

sqlninja

一款Perl编写的一个专门针对microsoft SQL server的SQL注入工具,和市面上其余的注入工具不一样,sqlninja没有将精力用在跑数据库上,而是侧重于得到一个shell。

Sqlmap

SQLMAP是一个开源的渗透测试工具,它主要用于自动化的侦测和实施SQL注入以及渗透数据库服务器,SQLMAP配有强大的侦测引擎,适用于高级渗透测试用户,不只能够得到不一样数据库的指纹信息,还能够从数据库中提取数据,此外还可以处理潜在的文件系统以及经过带外数据链接执行系统命令等。

接下里借助注入点进行更进一步的利用。上述命令后加--dbs,会列出有权查看的数据库。

上述命令后加--users枚举全部用户。加--users --pass枚举全部用户和密码hash,在之后更进一步的攻击中能够对密码hash进行破解。加--current-db查看当前数据库为dvwa。加--current-user查看当前用户为root。

sqlmap -u "http://192.168.199.139/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie='PHPSESSID=f5b40ff6909924c340680b1ef9314d27;security=low' --tables -D dvwa命令尝试枚举DVWA数据表。参数选项以下:

-u : 指定目标URL
-D : 要枚举的数据库
–-tables: 枚举数据库中的数据表

获得结果以下:

Database: dvwa
[2 tables]
+-----------+
| guestbook |
| users     |
+-----------+

sqlmap -u "http://192.168.199.139/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie='PHPSESSID=f5b40ff6909924c340680b1ef9314d27;security=low' --columns -T users -D dvwa命令获取用户表的列。参数选项以下:

-T : 要枚举的数据库表
–-columns : 枚举数据库表中的全部列

获得结果以下:

Database: dvwa
Table: users
[6 columns]
+------------+-------------+
| Column     | Type        |
+------------+-------------+
| user       | varchar(15) |
| avatar     | varchar(70) |
| first_name | varchar(15) |
| last_name  | varchar(15) |
| password   | varchar(32) |
| user_id    | int(6)      |
+------------+-------------+

漏洞分析之Web应用代理

经过应用代理工具分析数据包,或修改数据包重放、暴力攻击等在WEB安全测试中常常用到。

Burp Suite

用于攻击web应用程序集成平台。Burp Suite 经过默认端口8080上运行,使用这个代理,能够截获并修改从客户端到web应用程序的数据包。

Proxy代理模块做为BurpSuite的核心功能,拦截HTTP/S的代理服务器,做为一个在浏览器和目标应用程序之间的中间人,容许你拦截,查看,修改在两个方向上的原始数据流。首先创建代理监听(Proxy–> Options功能下),能够看到默认值127.0.0.1,端口8080(能够点击Edit进行修改,或者添加新的监听端口)。而后打开浏览器,点击Preferences->Privacy->Advanced->Network->Settings,设置HTTP代理和端口。

访问要测试的应用(如访问百度),在 Proxy –> Intercept 标签页,Intercept is on确保截获功能开启(若是不须要一个一个包地中断,能够off,可是全部流量仍然能够在Http History看到),就能够看到全部的请求。

点击Forward发送修改后的请求,若是不想发送某些请求点击Drop。对于抓到的包点击右键或者Action按钮进行修改和利用。

Http History 选项显示全部请求产生的细节,显示目标服务器和端口,Http方法,URL,以及请求中是否包含参数或被人修改,Http的相应状态吗,响应字节大小,响应的MIME类型,请求资源的文件类型,HTML页面的标题,是否使用ssl,远程IP地址,服务器设置的cookie,请求的时间。

OwaspZAP

攻击代理,是一款查找网页的应用程序漏洞综合渗透测试工具。包含拦截代理,被动处理,暴力破解,端口扫描,以及蜘蛛搜索等功能。OwaspZAP为会话类调试工具,调试功能对网站不会发起大量请求,对服务器影响较小。

OwaspZAP像Burp suite同样使用代理的方式来截取网站。

点击 Tools->Local proxy 设置相关选项。

在Firefox中设置代理。访问后在ZAP中出现了Sites。

paros proxy

一个对Web应用程序的漏洞进行评估的代理程序,即一个基于Java的web代理程序,能够评估Web应用程序的漏洞。它支持动态地编辑/查看 HTTP/HTTPS,从而改变cookies和表单字段等项目。它包括一个Web通讯记录程序,Web圈套程序(spider),hash 计算器,还有一个能够测试常见的Web应用程序攻击(如SQL注入式攻击和跨站脚本攻击)的扫描器。该工具检查漏洞形式包括:SQL注入、跨站点脚本攻击、目录遍历等。

WebScarab

一款代理软件,包括HTTP代理,网络爬行、网络蜘蛛,会话ID分析,自动脚本接口,模糊测试工具, WEB格式的编码/解码,WEB服务描述语言和SOAP解析器等功能模块。WebScarab基于GNU协议,使用Java编写,是WebGoat中所使用的工具之一。

Vega

Vega是一个开放源代码的web应用程序安全测试平台,Vega可以帮助你验证SQL注入、跨站脚本(XSS)、敏感信息泄露和其它一些安全漏洞。 Vega使用Java编写,有GUI,能够在Linux、OS X和windows下运行。Vega相似于 Paros Proxy, Fiddler, Skipfish and ZAproxy。

漏洞分析之BurpSuite

Burp Suite是一个Web应用程序集成攻击平台,它包含了一系列burp工具,这些工具
之间有大虽接口能够互相通讯,这样设计的目的是为了促进和提升整个攻击的效率。平台中
全部工具共享同一 robust 框架,以便统一处理HTTP请求,持久性,认证,上游代理,日志
记录,报帑和可扩展性。
Burp Suite 容许攻击者结合手工和自动技术去枚举、分析、攻击Web应用程序。这些
不冋的burp工具经过协同工做,有效的分享信息,支持以某种工具中的信息为基础供另外一
种工具使用的方式发起攻击。

  • Proxy提供一个直观、友好的用户界面,它的代理服务器包含很是详细的拦截规则,井
    能准确分析HTTP消息的结构与内容

  • Spide爬行蜘蛛工具能够用来抓取目标网站,以显示网站的内容,基本结构和其余功能

当浏览Web应用时,spider会从HTML响应内容中主动生成一份URL列表,而后尝试链接URL。首先点击Target–> Site Map标签,而后右键域名,选择“Add To Scope”:

  • Scanner Web应用程序的安全漏洞进行自动发现工具。它被设计用于渗透测试,并密
    切与现有的技术和方法,以适应执行手动和半自动化的Web应用程序滲透测试
  • Repeater 可手动从新发送单个HTTP请求
  • Intruder 是burp套件的优点,提供一组特别有用的功能。它能够自动实施各类定制攻击,包括资源枚举、数据提収、模糊测试等常见漏洞等。在各类有效的扫描工具中,它能
    够以最细化、最简单的方式访问它生产的请求与响应,容许组合利用我的智能与该工具的控
    制优势。
  • Sequencer 对会话令牌,会话标识符或其余出于安全缘由须要随机产生的键值的可预测
    性进行分析。
  • Decoder 转化成规范的形式编码数据,或转化成各类形式编码和散列的原始数据。它能
    够智能识別多种编码格式,使用启发式技术。
  • Comparer 执行比较数据之间的任何两个项目(一个可视化的“差
    异”)。在攻击一个Web应用程序的状况下,这一要求一般会出现当你想快速识别两个应用
    程序的响应之间的差别(例如,入侵者攻击的过程当中收到的两种反应之间之间,或登陆失败
    的反应使用有效的和无效的用户名)之间,或两个应用程序诘求(例如,肯定不一样的行为引
    起不一样的请求参数)

漏洞分析之Fuzz工具

Fuzz工具是一个模糊测试工具。模糊测试是一种介于彻底的手工渗透测试与彻底的自动化测试之间的安全性测试类型,是一种经过向目标系统提供非预期的输入并监视异常结果来发现软件漏洞的方法。测试的基本思想就是经过向程序中输入大量的随机数据,而后观察输入这些数据以后程序的状况,记录下使程序发生异常的数据,从而判断程序是在那些地方发生了异常。 简言之,就是发送一连串可能畸形的数据包,尝试使程序报错,从而进行判断。

Bed.pl

Bed是一个纯文本协议的Fuzz工具,可以检查常见的漏洞,如缓冲区溢出,格式串漏洞,整数溢出等。BED经过加载插件,向目标主机发送攻击数据。若是发现目标没法响应,说明目标可能存在溢出区漏洞。通过屡次测试验证,就能够判断漏洞出现的位置。而后经过手工执行验证,代码审核、反编译等方式,就能够找出漏洞具体触发机制,从而加以利用。

-s 插件(针对不一样的协议使用不一样的插件)
-t 目标IP地址
-p 目标端口
-o timeout

ohrwurm

一个迷你的对RTP的fuzz工具,主要针对SIP通讯的fuzz

PowerFuzzer

Wfuzz
针对WEB应用的模糊测试工具,能够进行web应用暴力猜解,也支持对网站目录、登陆信息、应用资源文件等的暴力猜解,还能够进行get及post参数的猜解,sql注入、xss漏洞的测试等。全部功能依赖于字典。

wfuzz基于一个很是简单的概念:它用一个给定的payload来替换相应的FUZZ关键词的值,咱们称FUZZ这样的关键词为占位符。一个wfuzz中的payload就是一个输入的源。wfuzz -e payloads命令能够获得全部可用的payload列表。

XSSer

XSSer专门针对XSS漏洞,主要是对一个页面或点进行xss测试,判断是否有XSS的漏洞。

依旧使用metasploitable2-linux自带的DVWA为例,点击 XSS reflected进行设置,并复制cookie值。

复制网址,使用命令xsser -u "http://192.168.199.139/dvwa/vulnerabilities/xss_r/?name=" --cookie="PHPSESSID=5218b113a4e6973859317eae876db9d3;security=low" -v测试是否存在xss漏洞

XSSer参数较多,请使用--help查看。XSSer使用起来不是那么简单方便,但能够做为第三方调用,在脚本中借助XSSer能够完成一系列的测试,会让代码对网站的测试更高效。

课本内容

1. web应用程序安全攻防

1.1 web应用程序体系结构及其安全威胁

1.1.1 web应用体系结构

  • 三层架构包括表示层、业务逻辑层、数据层
  • web应用体系结构包括浏览器、web服务器、web应用程序、数据库、传输协议http/https

1.1.2 web应用安全威胁

  • 针对浏览器和终端用户的Web浏览安全威胁
  • 针对传输网络的网络协议安全威胁
  • 系统层安全威胁
  • Web服务器软件安全威胁
  • Web应用程序安全威胁
  • Web数据安全威胁
1.2 web应用安全攻防技术概述

1.2.1 web应用的信息收集

  • 手工审查web应用程序结构与源代码 ◦静态和动态生成的页面
  • 目录结构,经典工具whisker
  • 辅助性文件
  • 输入表单
  • 查询参数字符串
  • 自动下载与镜像web站点页面
  • linux下工具:Lynx、wget
  • Windows上工具:Teleport Pro、Offline Explorer
  • 替代工具:迅雷、Flashget
  • 使用Google Hacking技术审查与探测Web应用程序
  • Web应用程序安全评估与漏洞探测

1.2.2 攻击web服务器软件

web服务器平台中的安全漏洞主要分为以下几类:

  • 数据驱动的远程代码执行安全漏洞
  • 服务器功能扩展模块漏洞
  • 样本文件安全漏洞
  • 源代码泄露
  • 资源解析攻击

1.2.3 攻击web应用程序

Web应用程序安全威胁从攻击技术角度分为以下6类:

  • 针对认证机制的攻击
  • 受权机制的攻击
  • 客户端攻击
  • 命令执行攻击(包括缓冲区溢出、格式化字符串、LDAP注入、操做系统命令注入、SQL注入、SSL注入)
  • 信息暴露
  • 逻辑攻击(包括功能滥用、拒绝服务攻击、对抗自动程序不完善、处理验证过程不完善等)

1.2.4 攻击web数据内容

  • 安全敏感数据泄漏
  • 网站篡改
  • 不良信息内容上传

1.2.5 web应用安全防范措施

Web站点网络传输安全设防措施:

  • 尽可能使用HTTPS来保障Web站点传输时的保密性、完整性与身份真实性,至少对登录过程进行加密保护
  • 经过加密的链接通道来管理Web站点
  • 对关键的Web服务器,设置静态绑定MAC-IP映射

Web站点操做系统及服务安全设防措施:

  • 对Web站点的操做系统与服务器软件进行及时的补丁更新
  • 对Web站点服务器的操做系统及各类开放服务进行远程安全漏洞扫描,在攻击者利用安全漏洞实施攻击以前发现和修补这些安全漏洞
  • 采用提高系统与服务安全性的通常性设防措施

Web应用程序安全设防措施:

  • 提升安全认识,开发时兼顾安全性、访问性能与便捷性
  • 使用具备良好安全声誉及稳定技术支持力量的web应用软件包
  • 只在必要时候自主或外包开发web应用程序
  • 使用web服务器软件提供的日志功能

Web站点数据安全设防措施:

  • 提升网站内容维护人员的数据安全意识
  • 对维护网站的数据安全实施平常监测和防御
1.3 SQL注入

根据目标的不一样分为:

  • 恶意读取、修改与操纵数据库的SQL注入攻击,是最多见也是较为直观的一种攻击技术
  • 在Web服务器端安装、执行Webshell等恶意脚本的PHP注入或ASP注入攻
  • 在Web服务器端恶意执行操做系统命令的Shell注入攻击
  • 其余多种多样的攻击如LDAP注入、邮件命令注入
1.4 xss跨站脚本攻击

与代码注入攻击不一样的是,其最终目的不是提供服务的Web应用程序,而是使用Web应用程序的用户。

1.4.1 XSS攻击技术原理

与代码注入相似,XSS攻击的根源一样是Web应用程序对用户输入内容的安全验证与过滤不够完善。

1.4.2 XSS攻击类型

两种主要的XSS漏洞类型:

  • 持久性XSS漏洞(也称做存储型XSS漏洞,是危害最为严重的XSS漏洞)
  • 非持久性XSS漏洞(也称为反射XSS漏洞)
  • 除了传统的服务器端Web应用程序中存在的XSS漏洞及相应攻击以外,安全业界又发现了一种在客户端代码中存在的XSS漏洞及攻击技术,被称为基于DOM的XSS。

1.4.3 xss攻击

在SEED实验环境中的phpBB论坛程序中引入了XSS安全漏洞,存在于posting.php与viewtopic.php文件中,
针对这一漏洞,咱们能够经过以下步骤来测试于利用该漏洞,实施用户会话Cookie窃取、假冒、甚至XSS蠕虫攻击:

  • 测试XSS漏洞
  • 显示用户的会话Cookie
  • 窃取用户的会话Cookie
  • 利用Cookie信息假冒其余用户发表与修改帖子
  • 编写实现XSS蠕虫。

1.4.4 XSS攻击防范措施

对XSS跨站脚本的防范分为服务器端和客户端两个方面。

  • 服务器端防范措施:①输入验证②输出净化③消除危险的输入点。
  • 客户端防范措施:提高浏览器的安全设置。

1.4.5 web浏览器安全攻防

  • 软件安全困境三要素:复杂性、可扩展性、连通性。浏览器软件面临着严重的威胁。
  • 网页木马存在的技术基础:Web浏览端安全漏洞。
  • 网页木马的本质核心——浏览器渗透攻击。
  • 网页挂马机制,最主要的有以下四类策略:内嵌HTML标签、恶意Script脚本、内嵌对象链接、ARP欺骗挂马。
  • 网页木马的检测与分析方法:基于特征码匹配的传统检测方法、基于统计与机器学习的静态分析方法、基于动态行为结果断定的检测分析方法、基于模拟浏览器环境的动态分析检测方法、网页木马检测分析技术综合对比。

2.Web浏览器安全攻防

2.1 web浏览器安全威胁

Web浏览器软件安全困境三要素:复杂性、可扩展性、连通性。

Web安全威胁位置

  • 传输网络的网络协议安全威胁
  • Web浏览端系统平台的安全威胁
  • Web浏览器软件及插件程序的渗透攻击威胁
  • 互联网用户社会工程学攻击威胁

2.2 Web浏览端渗透攻击威胁——网页木马

本质核心:利用脚本语言实现对web浏览端软件安全漏洞的渗透攻击,从而向客户端主机中植入恶意程序。

防范:提高操做系统与浏览端平台软件的安全性。

2.3 网络钓鱼(phishing)

网络钓鱼是社会工程学在互联网中普遍实施的一种典型攻击方式。

原理:经过大量发送声称来自于银行或其余知名机构的欺骗性垃圾邮件,意图引诱收信人给出我的敏感信息。

广泛技术流程:

  • 攻击者扫描网段,寻找存有漏洞的服务器;
  • 服务器被攻陷,并被安装一个rootkit或口令保护的后门工具;
  • 攻击者从加密的后门工具得到对服务器的访问权,并下载已经构建完毕的钓鱼网站内容,进行一些网站搭建配置与测试工做,使得钓鱼网站上线运行;
  • 攻击者下载群发电子邮件工具,并大规模散发垃圾邮件;
  • 网页浏览的流量开始到达钓鱼网站,受害者访问并给出我的敏感信息,攻击者经过后台脚本收集这些信息。

防范:加强安全意识、提升警戒性。

相关文章
相关标签/搜索