本文目录一览:
为什么网站和软件这样多的漏洞?
其实所有的软件和程序,都肯定会有漏洞,不可能存在100%安全无漏洞的软件程序。
同时,windows系统漏洞多这个说法可以说并不正确。而是说,使用和针对windows的人太多,所以被发现的漏洞就很多。
打个比方吧,用500个人的团队来做一个软件,这500个人假如都是一样的理论水平和知识储备,然后做好后发布,分为两个不同的版本为A版和B版,但实际事实上A版和B版是完全一样的,没有任何差别。A软件发布给1000万用户来研究,B软件只发布给100万用户来研究,这1100万用户并不重复。那么A软件肯定会被找出更多的漏洞和问题,但这并不能说明什么,因为都是完全一样的软件,只不过一个人多一个人少罢了。
为什么仍然有很多网站漏洞?据了解,大多数企业网站的漏洞包含OpenSSL、PHP和WordPress中的漏洞,这些漏洞主要是由于这些开源软件中存在着大量自定义组合以及缺乏测试和漏洞修复。
本文中让我们看看如何从一开始以及整个开发生命周期中修复这些漏洞。
很多网站的安全漏洞
“很多网站(和Web应用程序)漏洞的主要原因是这些技术完全定制化开发的性质,”美国国家安全局前情报收集人员、现Masergy Communications公司主管David J. Venable表示,这样的结果会产生在很大程度上未经测试的网站和应用程序,它们没有像大多数商业软件(例如操作系统和服务器软件包)经过严格的彻底的测试。
事实上,网站和 *** 应用程序中的漏洞要比企业其他地方的漏洞更多。这些安全漏洞包括PHP站点、第三方和自产软件中的漏洞,WordPress代码和安装以及OpenSSL、Single Sign-On及SQL和LDAP部署及技术中的漏洞。
使用第三方软件的PHP网站存在固有的漏洞,因为第三方应用程序开发不受企业的掌控。Berkeley研究公司主管Joe Sremack表示:“你可以设计你的网站,以确保所有自制代码是完全安全的,但如果你需要使用第三方软件,那么你就可能引入漏洞。”
WordPress是一个日益严重的问题,它有着无数的插件,需要不断的更新,这给中小型企业带来日益严重的威胁。Sremack表示:“企业想要WordPress的功能,但不幸的是,它也带来风险。”
OpenSSL也面临相同的问题。随着人们不断创新该技术,这些创新带来新的漏洞,可让攻击者发现和利用。每年攻击者都会不断利用OpenSSL漏洞来作为大规模数据泄露的一部分,很多看似新的漏洞实际上是还未被发现的旧漏洞。
即使编程者开发出安全的网站,他们的开发主要是基于他们已知的漏洞,而不是尚未确认的漏洞,而总是会出现新的漏洞。
注入漏洞仍然很常见,攻击者已经调整了他们的攻击 *** ,以利用日益普及的单点登录。Sremack解释说:“单点登录在酒店里很常见,人们会使用单点登录来检查他们的账户和积分。新的LDAP注入技术会攻击漏洞,并传递参数到代码来控制其 *** 会话。”
另一个攻击向量是本地和远程文件。Sremack称:“网站的代码可以调用本地服务器或远程公共服务器上的文件。通过使用注入技术,攻击者可以让网站显示信息,包括密码文件或者Web服务器中的用户名列表,并可以执行他们想要运行的代码。”
修复网站安全漏洞
Venable称:“企业必须从开发过程的最开始就坚持安全更佳做法,例如开放Web应用安全项目(OWASP)的更佳做法。”企业需要在生产前、代码变更后进行所有测试,包括应用程序评估、渗透测试以及静态分析,至少一年一次。为了实时发现和缓解攻击,企业需要对网站和 *** 应用程序部署WAF和IDS,并部署全天候监控小组。
Sremack称:“在开发过程中,与安全团队合作来对受影响的代码和功能执行定期测试。”如果企业在更新当前的网站,应该让安全团队测试和确保新增的功能不会带来漏洞。开发团队还应该进行扫描和测试来隔离漏洞和修复漏洞。
Sremack说道:“企业应该使用攻击者用来入侵 *** 的相同工具,例如Grabber、W3AF和Zed Attack Proxy。”虽然说,任何有着安全知识或安全工具的人都可以利用这些应用程序,基于测试的结果来发现网站漏洞,但企业需要安排专门的工作人员来做这个工作。
“开发人员应该具体看看他们如何创建和维护 *** 会话,专门检查会话通过网站传输的输入,无论是通过网站还是输入字段,”Sremack称,“然后监测任何第三方代码中的漏洞,并查看来自供应商的漏洞利用声明。”
总结
网站越大,其功能和可视性越大,它也会使用更多第三方软件,同时,减少该网站中固有漏洞的过程也更加昂贵。
企业必须在一天内多次监控和更新网站,以更好地抵御 *** 攻击者。这个过程应该包括变更管理、测试和正确的部署,以及新的专门的安全团队和指定的测试站点。
网站的功能越丰富,企业越应该确保网站的安全性。现在也有很多开源免费软件工具可以帮助开发人员来了解新的漏洞和威胁。
建议安装安全防护软件,如安全狗等,防护网站安全。
常用的 *** 安全工具有哪些?
1、NMap
是一个开源且免费的安全扫描工具,可被用于安全审计和 *** 发现。能够工作在Windows、Linux、HP-UX、Solaris、BSD(包括Mac OS)、以及AmigaOS上。Nmap可用于探测 *** 中那些可访问的主机,检测它们操作系统的类型和版本,正在提供的服务,以及正在使用的防火墙或数据包过滤器的信息等。由于它既带有GUI界面,又提供命令行,因此许多 *** 与系统管理员经常将它运用到自己的日常工作中,其中包括:检查开放的端口,维护服务的升级计划,发现 *** 拓扑,以及监视主机与服务的正常运行时间等方面。
2、Wireshark
作为业界更好的工具之一,Wireshark可以提供免费且开源的渗透测试服务。通常,您可以把它当作 *** 协议分析器,以捕获并查看目标系统与 *** 中的流量。它可以在Linux、Windows、Unix、Solaris、Mac OS、NetBSD、FreeBSD、以及其他操作系统上运行。Wireshark广受教育工作者、安全专家、 *** 专业人员、以及开发人员的使用和喜爱。那些经由Wireshark还原的信息,可以被其图形用户界面(GUI)或TTY模式的TShark工具来查看。
3、Metasploit
作为一个安全项目,Metasploit可为用户提供有关安全风险或漏洞等方面的重要信息。该开源的框架可以通过渗透测试服务,让用户获悉各种应用程序、平台和操作系统上的最新漏洞,以及可以被利用的代码。从渗透测试角度来看,Metasploit可以实现对已知漏洞的扫描,侦听,利用,以及证据的收集。它提供可在Linux、Windows以及Apple Mac OS上运行的命令行和图形用户界面。虽然Metasploit是一种商业工具,但它附带有一个开源的有限试用版。
4、Netsparker
作为一款商业化的安全测试工具,Netsparker是一个精确、自动化且易用的Web应用安全扫描程序。该工具可以被用于自动化地识别Web应用服务中的跨站点脚本(XSS)和SQL注入等安全风险。通过基于证据的扫描技术,它不仅可以生成风险报告,还能够通过概念证明(Proof of Concept),来确认是否有误报,并能减少手动验证漏洞的时间。
5、Acunetix
是一款全自动化的Web漏洞扫描程序。它可以智能地检测、识别并报告超过4500种Web应用漏洞,其中包括XSS XXE、SSRF、主机头部注入(Host Header Injection)和SQL注入的所有变体。作为一种商业工具,Acunetix通过其DeepScan Crawler来扫描重AJAX(AJAX-heavy)客户端类型的单页面应用(SPA)和HTML5网站。
6、Nessus
是针对安全从业人员的漏洞评估解决方案。它能够协助检测和修复各种操作系统、应用程序、乃至设备上的漏洞、恶意软件、配置错误、以及补丁的缺失。通过运行在Windows、Linux、Mac、Solaris上,用户可以用它来进行IP与网站的扫描,合规性检查,敏感数据搜索等测试。
7、W3af
作为一个免费工具,W3af是一个Web应用攻击和审计框架。它通过搜索、识别和利用200多种已知的Web应用漏洞,来掌控目标网站的总体风险。这些漏洞包括:跨站点脚本(XSS)、SQL注入、未处理的应用错误、可被猜测的密钥凭据、以及PHP错误配置等。W3af不但适用于Mac、Linux和Windows OS,而且提供控制台和图形用户界面。
8、Zed Attack Proxy
由OWASP开发的免费且开源的安全测试工具。它可以让您在Web应用中发现一系列安全风险与漏洞。由于支持Unix/Linux、Windows和Mac OS,即使您是渗透测试的新手,也能轻松地上手该工具。
9、Burpsuite
作为一个严控“入侵者”扫描工具,Burpsuite被部分安全测试专家认为:“如果没有它,渗透测试将无法开展。”虽然不是免费,但是Burpsuite提供丰富的功能。通常,人们可以在Mac OS X、Windows和Linux环境中使用它,以实现爬取内容和功能,拦截 *** ,以及扫描Web应用等测试目的。
10、Sqlninja
作为更好的开源渗透测试工具之一,Sqlninja可以利用Microsoft SQL Server作为后端,来检测Web应用上的SQL注入威胁和漏洞。该自动化测试工具提供命令行界面,可以在Linux和Apple Mac OS X上被使用。Sqlninja具有包括:对远程命令进行计数,DB指纹识别,及其检测引擎等描述性功能。
如何攻击开放WiFi
黑帽 ***
2018-12-21 12:32
关注
WiFi的安全问题已经引起了不少的使用者重视,甚至已经出现草木皆兵的现象。那么黑客到底是如何做到绕过身份验证来获取WiFi使用权的呢?主要有以下三种方式,其中最后一种方式十分简单。
1. 伪造MAC地址
很多时候开放 *** 的身份验证往往就是通过上网设备的MAC地址连同上网凭证一起实现的。但由于设备的MAC地址都容易进行修改,包括智能手机和笔记本电脑等,也就是这种验证 *** 根本没有安全保障。黑客可以通过ARP扫描技术,找到其他已经连接上该 *** 的客户端,这样就可得到一个包含所有连接设备的IP地址和MAC地址的完整APR表。然后黑客可以尝试进行检测这些设备是否会产生上网流量,如果是,就非常容易通过 *** 认证门户身份验证获取WiFi使用权。
2. 伪造认证页面
这种方式类似于钓鱼,当创建一个伪造身份认证页面后就能迫使正常用户登录该页面进行身份验证,然后黑客就可以盗取他们的上网凭证。毕竟一般开放的wifi *** 的所有流量都是一种未经加密的明文数据,这样黑客就能非常方便的进行拦截并篡改 *** 流量以达到想要做任何事情的目的。
3. 利用忘记密码方式
其实这种方式十分的简单,就是抓住待身份验证的WiFi在忘记密码时能够提供重置密码服务,这种服务往往需要连接者的手机号码来进行实现,需要能够向填入的手机号码上发送相关新密码,甚至很多时候还需通过电子邮件来发送新密码;在这种情况下就会允许连接客户端的TMAP/POP邮件服务器,也就意味着黑客能够轻松的获取到密码。
通过上述的三种方式黑客可以轻松的获取到WiFi密码,从而掌控WiFi以达到传播木马病毒的目的,所以小编提醒大家,应该提高对公共WiFi的警惕,避免给自己带来不必要的麻烦,甚至是财产损失。
web日志分析工具 怎么确认被攻击
Apache 服务器
预安装在Kali Linux
可以用以下命令开启:
service apache2 start
MySQL
预安装在Kali Linux
可以用以下命令开启:
service mysql start
使用PHP-MySQL创建一个有漏洞的web应用
我使用PHP开发了一个有漏洞的web应用并且把它放在上面提到的 Apache-MySQL里面。
上述设置完成后,我用了一些Kali Linux中的自动工具(ZAP、w3af)扫描这个有漏洞的应用的URL。
现在让我们来看看分析日志中的不同情况。
0x02 Apache服务中的日志记录
Debian系统上Apache服务器日志的默认位置为:/var/log/apache2/access.log
日志记录只是在服务器上存储日志。我还需要分析日志以得出正确结果。在接下来的一节里,我们将看到我们如何分析Apache服务器的访问日志以找出web站点上是否有攻击尝试。
分析日志
手动检查
在日志量较小的情况下,或者如果我们查找一个指定关键词,可以使用像grep表达式这样的工具观察日志。
在下图中,我们在URL中试图搜寻所有关键词为“union”的请求。
从上图中,我们可以看到URL中的“union select 1,2,3,4,5”请求。很明显,ip地址为 192.168.56.105的某人尝试了SQL注入。 类似地,当我们有自己的关键词时可以搜索特殊的关键词。
在下图中,我们正在搜索试图读取“/etc/passwd”的请求,很明显是本地文件包含尝试。
如上面的截图所示,我们有许多本地文件包含的尝试,且这些请求发送自ip地址 127.0.0.1。
很多时候,能轻易通过日志看出是否是自动化扫描器产生的。
举例来说, IBM appscan在许多攻击payload中使用“appscan”这个词。所以,在日志中查看这样的请求,我们基本就可以判断有人在使用appscan扫描网站。
Microsoft Excel也是一个打开日志文件和分析日志的不错的工具。我们可以通过指定“空格”为分隔符以用excel打开日志文件。
当我们手头没有日志分析工具时,这个也挺好用的。
除了这些关键词,在分析期间要了解HTTP状态代码的基础知识。以下是关于HTTP状态代码的高级信息的表格。
0x03 Web shells
webshell是网站/服务器的另一个问题。webshell可以已web server权限控制服务器。
在一些情况下,我们可以使用webshell来访问所有放在相同服务器上的其他站点。
以下截图显示了Microsoft Excel 中开启相同的access.log文件。
我们清楚地看到有一个叫“b374k.php”的文件被访问了。“b374k”是一个流行的webshell,因此这个文件是很可疑的。
查看相应代码“200”,本行表明有人上传了一个webshell并访问了它。
在许多情况下,攻击者重命名webshell的名字以避免怀疑。我们必须变得聪明点,看看被访问的文件是否是常规文件或者是否他们看起来不太一样。我们可以更进一步,如果任何文件看起来可疑的话,还可以查看文件类型和时间戳。
One single quote for the win
SQL注入是web应用中最常见的漏洞之一。大多数学习web应用安全的人是从学习SQL注入开始的。
识别一个传统的SQL注入很容易,给URL参数添加一个单引号看看是否报错。
任何我们传递给服务器的东西都会被记录,并且可以朔源。
以下截图显示了日志当中记录了有对参数user传入单引号测试是否有SQL注入的行为。
%27是单引号的URL编码。
出于管理目的,我们还可以运行查询监视来查看数据库中的哪个请求被执行了。
如果我们观察以上图片,传递一个单引号给参数“user”的SQL语句被执行了。
0x04 使用自动化工具分析
当存在大量日志时。手动检查就会变得困难。在这种情景下,除了一些手动检查之外我们可以使用自动化工具。
虽然有许多高效的商业工具,但是我要向你们介绍一款被称为“Scalp”的免费工具。
据他们的官方链接所说,Scalp是用于Apache服务器,旨在查找安全问题的日志分析器。主要理念是浏览大量日志文件并通过从HTTP/GET中提取可能的攻击。
Scalp可以从以下链接下载:
Scalp是python脚本,所以要求我们的机器中安装python。
以下图片显示该工具的帮助。
如我们在上图所见,我们需要使用标志-l来提供要分析的日志文件。
同时,我们需要提供使用标志-f提供一个过滤文件让Scalp在access.log文件中识别可能的攻击。
我们可以使用PHPIDS项目中的过滤器来检测任何恶意的尝试。
该文件名为“default_filter.xml ”,可以从以下链接中下载:
以下代码块是取自上面链接的一部分。
1
2
3
4
5
6
7
8
9
10
11
filter
id12/id
rule![CDATA[(?:etc\/\W*passwd)]]/rule
descriptionDetects etc/passwd inclusion attempts/description
tags
tagdt/tag
tagid/tag
taglfi/tag
/tags
impact5/impact
/filter
它是使用XML标签定义的规则集来检测不同的攻击测试。以上代码片段是检测文件包含攻击尝试的一个示例。
下载此文件之后,把它放入Scalp的同一文件夹下。
运行以下命令来使用Scalp分析日志。
1
python scalp-0.4.py –l /var/log/apache2/access.log –f filter.xml –o output –html
“output”是报告保存的目录。如果不存在的话,由Scalp自动创建。-html是用来生成HTML格式的报告。 如我们在上图看到的那样,Scalp结果表明它分析了4001行,超过4024并发现了296个攻击模式。
运行上述命令后在输出目录内生成报告。我们可以在浏览器内打开它并查看结果。 下面截图显示的输出显示了目录遍历攻击尝试的一小部分。
MySQL中的日志记录
本节论述了数据库中的攻击分析和监视它们的 *** 。
之一步是查看设置了什么变量。我们可以使用“show variables;”完成,如下所示。
接下来显示了上述命令的输出。
如我们在上图中看到的,日志记录已开启。该值默认为OFF。
这里另一个重要的记录是 “log_output”,这是说我们正在把结果写入到文件中。另外,我们也可以用表。
我们可以看见“log_slow_queries”为ON。默认值为OFF。
所有这些选项都有详细解释且可以在下面提供的MySQL文档链接里直接阅读:
MySQL的查询监控
请求日志记录从客户端处收到并执行的语句。默认记录是不开启的,因为比较损耗性能。
我们可以从MySQL终端中开启它们或者可以编辑MySQL配置文件,如下图所示。
我正在使用VIM编辑器打开位于/etc/mysql目录内的“my.cnf”文件。
如果我们向下滚动,可以看见日志正被写入一个称为“mysql.log”的文件内。
我们还能看到记录“log_slow_queries” ,是记录SQL语句执行花了很长时间的日志。
现在一切就绪。如果有人用恶意查询数据库,我们可以在这些日志中观察到。如下所示:
上图显示了查询命中了名为“webservice”的数据库并试图使用SQL注入绕过认证。