20189313《网络攻防》第五周作业

《Python黑帽子》第四章

代码托管:Python code

Kali 视频学习16-20

16.KaliSecruity-漏洞分析之数据库评估(一)

BBQSql

  • BBQSql,是一个Python编写的盲注工具(blind SQL injection framework),当检测可疑的注入漏洞时会很有用。它也是一个半自动工具,允许客户自定义参数。SQL注入是将SQL命令插入到表单、域名或者页面请求的内容中。在进行注入的时候,渗透测试人员可以根据网站反馈的信息,判断注入操作的结果,以决定后续操作。如果网站不反馈具体的错误信息,只给出的一个模糊的反馈,如输入数据有误或者空白页面。这种情况下的注入就被称为SQL盲注。在SQL盲注中,渗透人员需要反复进行大量注入操作,每次都需要重复设置配置项,构建新的SQL语句等。这些操作极其消耗时间。为了避免这些重复操作,Kali Linux提供了一个SQL盲注工具BBQSQL。在这个工具中,用户可以将各项参数进行预先设置。每次测试,只需要修改一项,就可以执行一次测试,从而避免重复项目的设置。同时,它提供钩子功能,帮助用户对数据进行额外处理,如URL的编码转化等。

DBPwAudit

  • DBPwAudit,数据库用户名密码破解工具,通过挂载字典对目标数据库进行密码暴力猜解,目前支持的数据库包括SQLServer、MySQL、Oracle、DB2。
    这个工具在kali渗透工具集里已经被除名了。。。

HexorBase

-HexorBase,图形化的密码破解与连接工具,支持MySQL、Oracle、PostgreSQL、SQLite和SQL Server五大主流数据库。允许安全人员指定用户字典和密码字典,然后实施字典攻击,并且允许安全人员使用破解出的用户名和密码,对数据库进行远程管理。
HexorBase允许通过代理进行数据包路由,甚至可以使用metasploit转向滑动来与远程无法访问的服务器进行通信,这些服务器隐藏在本地子网中。

jSQL

jSQL Injection是一个轻量级应用程序,用于从远程服务器中查找数据库信息。 jSQL Injection是免费的,开源的和跨平台的(Windows,Linux,Mac OS X,Solaris)。

MDBTools

mdb-sql是与MDB Tools一起分发的实用程序。
mdb-sql允许使用有限的SQL子集语言来查询MDB数据库。

Oracle scanner

Oscanner是一个用Java开发的Oracle评估框架。

它有一个基于插件的架构,并附带了几个的插件:
- Sid枚举
- 密码测试(常见&字典)
- 枚举Oracle版本
- 枚举账号权限
- 枚举账号哈希
- 枚举审计信息
- 枚举密码策略
- 枚举数据库链接

SIDGusser

针对Oracle的SID进行暴力枚举的工具。SID为Oracle实例名,Oracle连接字符串,通过实例名+用户+密码连接。当用户希望远程连接Oracle数据库时,则需要知道SID、用户名、密码及服务器的IP地址。根据预定义的字典文件猜测针对Oracle数据库的sid /实例。 速度很慢(每秒80-100次猜测)但它可以完成这项工作。

sqldict

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

17.KaliSecruity-漏洞分析之数据库评估(二)

tnscmd10g

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

Sqlsus

一个开放源代码的MySQL注入和接管工具,使用perl编写,使用命令行界面。它可以获取数据库结构,注入自己的SQL语句,从服务器下载文件,爬行web站点可写目录,上传和控制后门,克隆数据库等。使用时,首先使用sqlsus -g test.conf生成一个配置文件。在配置文件中,设置注入路径以及注入的各项参数,如修改our $url_start = “”,引号里写入输入注入点。然后使用sqlsus test.conf命令加载该文件,实施渗透测试。get databases获取数据库,set database设定数据库,get tables获取表。

Sqlninja

一款perl编写的,侧重于获得一个shell。Sqlninja是专门针对SQLServer的sql注入工具。可找到远程SQL服务器的版本和特征;对管理员口令“sa”进行强力攻击;一旦找到口令就将特权提升到“sa”权限;如果原始的xp_cmdshell被禁用后,就创建一个定制的xp_cmdshell;不需要FTP连接;为了找到目标网络的防火墙所允许的端口,可以实施针对目标SQL服务器的TCP/UDP端口扫描;逃避技术,使注入代码“模糊”不清,并且混淆/绕过基于强命的IPS和应用层防火墙;采用“盲目执行”攻击模式,可以用于发布命令并执行诊断;如果得到权限为sa,可以结合msf进一步对目标主机进行渗透。
想要从Microsoft SQL Server上的SQL注入到数据库的完整GUI访问吗? 采取一些新的SQL注入技巧,在注册表中添加几个远程镜头以禁用数据执行保护,混合使用一个自动生成调试脚本的小Perl,将所有这些放在带有Metasploit包装器的振动器中,摇匀然后你 只有一个sqlninja的攻击模块!

Sqlmap

sqlmap是一个开源的渗透测试工具,可以自动检测和利用SQL注入漏洞并接管数据库服务器。 它配备了强大的检测引擎,为终极渗透测试仪提供了许多利基功能,以及从数据库指纹识别,从数据库中获取数据到访问底层文件系统以及在操作系统上执行命令的各种交换机。

18.Kali漏洞分析之WEB应用代理

BurpSuite

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

OwaspZAP

OWASP Zed Attack Proxy Project攻击代理(简称ZAP),是一款查找网页应用程序漏洞的综合类渗透测试工具。它包含了拦截代理、自动处理、被动处理、暴力破解、端口扫描以及蜘蛛搜索等功能。OwaspZAP为会话类调试工具,调试功能对网站不会发起大量请求,对服务器影响较小。它即可以用于安全专家、开发人员、功能测试人员,甚至是渗透测试入门人员。它也是经验丰富的测试人员用于手动安全测试的绝佳工具。

paros proxy

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

WebScarab

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

Vega

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

19.Kali漏洞分析之BurpSuite

Burp Suite包含拦截代理。 要使用Burp Suite,您必须配置浏览器以通过Burp Suite代理传递其流量。 这对于Firefox来说并不难,这是Kali Linux上的默认浏览器。
打开Firefox并单击菜单按钮打开Firefox设置菜单。 在菜单中,单击“首选项”。 这将打开Firefox中的“首选项”选项卡。拖到最后,选择proxy右边的setting,这将打开Firefox的代理设置。

Firefox内置了许多用于处理代理的选项。 对于实验,请选择“手动代理配置:”单选按钮。 这将打开一系列选项,允许您为多个协议中的每个协议手动输入代理的IP地址和端口号。 默认情况下,Burp Suite在端口8080上运行,并且由于您在自己的计算机上运行它,因此请输入127.0.0.1作为IP。 您主要担心的是HTTP,但如果您感到懒惰,可以选中标记为“将此代理服务器用于所有协议”的复选框。

在其他手动配置选项下面是一个允许您为代理写入免除项的框。 Firefox将名称localhost以及IP 127.0.0.1添加到此字段。 删除或修改它们,因为您将监视浏览器和本地托管的WordPress安装之间的流量,我在实际操作中选择了外网的网站,因此这个就可以不改。

配置Firefox后,您可以继续配置Burp并启动代理。

默认情况下应该配置代理,但只需要一秒钟来仔细检查它。 如果要在将来更改设置,可以按照相同的方法进行更改。
在您的Burp Suite窗口中,单击选项卡顶行上的“Proxy”,然后单击下一级的“Options”。 屏幕的顶部应该显示“代理监听器”,并且有一个带有本地主机IP和端口8080的框。左边的框应该是“正在运行”列中的复选框。 如果这就是您所看到的,您就可以开始使用Burp Suite捕获流量了。

此时您已经将Burp套件作为Firefox的代理运行,并且您已准备好开始使用它来捕获从Firefox到本地托管的WordPress安装的信息。

Burp Suite可以收集的信息量非常惊人,它为测试Web应用程序开辟了新的可能性。





20.Kali漏洞分析之Fuzz工具

模糊测试是一种自动化软件测试技术,涉及提供无效,意外或随机数据作为计算机程序的输入。 然后监视程序是否存在异常,例如崩溃,内置代码断言失败或潜在的内存泄漏。 通常,模糊器用于测试采用结构化输入的程序。 例如,以文件格式或协议指定该结构,并将有效与无效输入区分开。 有效的模糊器生成“有效”的半有效输入,因为它们不会被解析器直接拒绝,但会在程序中更深层次地创建意外行为,并且“足够无效”以暴露尚未正确处理的极端情况。

Bed

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

ohrwurm

ohrwurm是一款小巧简单的RTP模糊器,已在少数SIP电话上成功通过测试。 特征:
读取SIP消息以获取RTP端口号的信息
通过提供RTP端口号可以省略读取SIP,从而可以对任何RTP流量进行模糊测试
可以抑制RTCP流量以避免编解码器
了解“嘈杂的线条”
特别注意打破RTP处理本身
RTP有效载荷模糊了恒定的BER
BER是可配置的
需要来自dsniff的arpspoof来进行MITM攻击
要求两部电话都在交换局域网中(GW操作只能部分工作)

PowerFuzzer

Kali Linux自带的一款Web模糊测试工具。该工具基于各种开源模糊测试工具构建,集成了大量安全信息。该工具高度智能化,它能根据用户输入的网址进行自动识别XSS、SQL注入、CRLF、HTTP500等漏洞。同时,用户可以指定用户和密码等身份验证信息,也可以指定Cookie信息。同时,用户可以直接指定该工具是否使用代理。由于该工具开发较早,对非ASCII编码(如包含中文的网站)网站支持不好,分析中文网站容易出现异常错误。

Wfuzz


XSSer

跨站点“Scripter”(又名XSSer)是一种自动框架,用于检测,利用和报告基于Web的应用程序中的XSS漏洞。 它包含几个试图绕过某些过滤器的选项,以及各种特殊的代码注入技术。

《网络攻防技术》第十一、十二章学习总结

十一章 web应用程序安全攻防

Web应用程序是一种使用浏览器在互联网或企业内部网上进行访问操作的应用软件形态,通常以浏览器支持的语言所编写,或能够在浏览器控制的环境中运行,依赖于浏览器来对应用程序进行渲染与执行。

Web应用安全威胁

针对浏览器和终端用户的Web浏览安全威胁,如网页木马,Phishing网站钓鱼
针对传输网络的网络协议安全威胁
系统层安全威胁
Web服务器软件安全威胁
Web应用程序安全威胁
Web数据安全威胁

Web应用安全攻防技术概述

1.Web应用的信息收集
  与系统和网络攻击类似,针对Web应用的攻击也需要首先进行信息情报的收集,对目标Web应用服务进行发现与剖析,标识出它的基本轮廓,具体包括服务器域名、IP地址和虚拟IP地址,Web服务器端口与其他开放服务,Web站点类型和版本,Web应用程序类型与版本,以及Web服务器和Web应用程序中存在的安全漏洞信息等。

手工审查Web应用程序结构与源代码
自动下载与镜像Web站点页面
使用Google Hacking技术审查与探测Web应用程序
Web应用程序安全评估与漏洞探测

2.攻击Web服务器软件
  Web服务器软件作为Web应用的层载体,也成为攻击者对Web应用实施攻击的首要目标之一。

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

3.攻击Web应用程序
  在Web应用各个层次上,目前安全最薄弱的环节在于Web应用程序。在2004年发布的《WASC Web安全威胁分类v1.0》将Web应用程序安全威胁从攻击技术角度分为如下6类。
(1)针对认证机制的攻击:针对用来确认用户、服务或应用身份机制的攻击手段,包括暴力枚举、利用认证机制不完善弱点、攻击口令恢复验证机制等;
(2)授权机制的攻击:针对用来确认用户、服务或应用是否具有执行请求动作必须权限限制的攻击手段,包括信任/会话预测、利用授权机制不完善弱点、利用会话失效机制不完善弱点、会话身份窃取攻击等;
(3)客户端攻击:扰乱或者渗透攻击Web站点客户端用户的攻击手段,包括内容欺骗、跨站脚本攻击等;
(4)命令执行攻击:在Web站点上执行远程命令的攻击手段,包括缓冲区溢出、格式化字符串、LDAP注入、操作系统命令注入、SQL注入、SSI注入等;
(5)信息暴露:获取Web站点具体系统信息的攻击手段,包括目录枚举、信息泄露、路径遍历、资源位置可预测等;
(6)逻辑攻击:扰乱或者渗透攻击Web应用逻辑流程的攻击手段,包括功能滥用、拒绝服务攻击、对抗自动程序不完善、处理验证过程不完善等。

4.攻击Web数据内容

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

5.Web应用安全防范措施

Web站点网络传输安全设防措施
(1)尽量使用HTTPS来保障Web站点传输时的保密性、完整性与身份真实性,至少要对登录过程进行加密保护
(2)通过加密的连接通道来官网Web站点,避免使用未经加密的telnet、FTP、HTTP来进行Web后台管理,而使用SSH、SFTP等安全协议。
(3)对关键的Web服务器,设置静态绑定MAC-IP映射,在服务网段内进行ARP等各类欺骗攻击的检测与MAC封禁机制,在网关位置部署防火墙与入侵检测系统对Web服务器实施保护与安全检测,采用冗余等机制来应对拒绝服务攻击。
Web站点操作系统及服务安全设防措施
Web应用程序安全设防措施
Web站点数据安全设防措施

SQL注入

原理

利用web应用程序数据层存在的输入验证不完善型安全漏洞实施的一类代码注入攻击技术。SQL注入攻击的原理是WEB应用程序提供的用户输入接口(如一个动态页面的输入参数、变淡的输入框等)输入一段精心构造的SQL查询命令,攻击和利用不完善的输入验证机制,是的注入代码得以执行完成非预期的攻击操作行为。

SQL注入攻击步骤和过程
    发现SQL注入点
    判断后台数据库类型
    后台数据库众管理员用户口令字猜测
    上传ASP后门,得到默认账户权限
    本地权限提升
    利用数据库扩展存储过程执行shell命令

SQL注入攻击防范措施
    使用类型安全的参数编码机制
    凡是来自外部的用户输入,必须进行完备检查
    将动态SQL语句替换为存储过程、预编译SQL或ADO命令对象
    加强SQL数据库服务器的配置连接。

XSS跨站脚本攻击

XSS跨站脚本攻击的最终目标是使用web应用程序的用户。XSS攻击的根源同样是WEB应用程序对用户输入内容的安全验证与过滤不够完善。现有两种主要的XSS漏洞类型,持久性XSS漏洞和非持久性XSS漏洞。对XSS的防范措施可以分为服务器端和客户端。服务器端防范措施包括输入验证、输出净化、消除危险的输入点。

十二章 Web浏览器安全攻防

12.1 web浏览器安全威胁

Web浏览器软件安全困境三要素:复杂性、可扩展性、连通性。
(1)复杂性:现代浏览器软件的复杂性意味着更多的错误和安全缺陷,也就导致了目前浏览器软件中存在着可被渗透攻击所利用的大量安全漏洞。
(2)可扩展性:现代Web浏览器可能最突出可扩展特性支持的软件类型,目前几乎所有的现代浏览器软件都支持第三方插件扩展机制。而第三方扩展插件的开发过程缺乏安全保证,出现安全漏洞的情况更为普遍。
(3)连通性:现代Web浏览器本身就是为用户实现“随时随地浏览互联网”这一目标而存在的,因此浏览器软件始终工作在联网状态,一旦其中存在安全漏洞,就很容易被网络上的威胁源所利用与攻击。
Web浏览安全威胁位置
    针对传输网络的网络协议安全威胁
    针对Web浏览端系统平台的安全威胁
    针对Web浏览器软件及插件程序的渗透攻击威胁
    针对互联网用户的社会工程学攻击威胁

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

本质核心:利用脚本语言实现对web浏览端软件安全漏洞的渗透攻击,从而向客户端主机中植入恶意程序。
防范:提升操作系统与浏览端平台软件的安全性。

12.3 网络钓鱼(phishing)

网络钓鱼是社会工程学在互联网中广泛实施的一种典型攻击方式。
原理:通过大量发送声称来自于银行或其他知名机构的欺骗性垃圾邮件,意图引诱收信人给出个人敏感信息。
普遍技术流程:
(1)攻击者扫描网段,寻找存有漏洞的服务器;
(2)服务器被攻陷,并被安装一个rootkit或口令保护的后门工具;
(3)攻击者从加密的后门工具获得对服务器的访问权,并下载已经构建完毕的钓鱼网站内容,进行一些网站搭建配置与测试工作,使得钓鱼网站上线运行;
(4)攻击者下载群发电子邮件工具,并大规模散发垃圾邮件;
(5)网页浏览的流量开始到达钓鱼网站,受害者访问并给出个人敏感信息,攻击者通过后台脚本收集这些信息。
防范:增强安全意识、提高警惕性。

教材十一、十二章作业

十一实践作业

启动apache服务器

关闭对抗措施:找到/etc/php5/apache2/php.ini,找到magic_ quotes_ gpc = On这一行改为magic_quotes_ gpc = Off

重启apache服务器

使用URL:http://www.sqllabmysqlphpbb.com访问thephpBB2server

用户输入用户名和密码后,登录.phpprogram将使用用户提供的数据来确定它们是否与数据库中任何记录的用户名和用户密码字段匹配。 如果匹配,则表示用户提供了正确的用户名和密码组合,应该允许登录。 与大多数其他Web应用程序一样,PHP程序使用标准SQL语言与其后端数据库进行交互。

修改登陆验证文件中的sql语句:

绕过密码登陆:

十二章实践作业

启动apache服务器

使用URL:http://www.sqllabmysqlphpbb.com访问thephpBB2server
发布恶意消息以显示警报窗口

发布恶意消息以显示Cookie

posted on 2019-03-31 12:46  Big_Chuan  阅读(241)  评论(0编辑  收藏  举报

导航