前言除去搭建平台中间件,网站源码外,容易受到攻击的还有操作系统,数据库,第三方软件平台等,其中此类攻击也能直接影响到Web或服务器的安全,导致网站或服务器权限的获取操作系统层面识别操作系统常见方法通过网站或通过扫描相关软件识别大小写对网页都没有影响,这种情况就可以认定为windows服务器,因为windows服务器不区分大小写这个网站对应的操作系统是linux服务器也可以用TTL来判断服务器系统,相邻的值来判断ip地址可用nmap来判断操作系统命令:nmap -O 110.242.68.4简述两者区别以及识别的意义网站路径、大小写、文件在两个系统之间的适用性,兼容性如果判断出是哪种操作系统,就会从操作系统所支持的漏洞类型下手操作系统层面漏洞类型对应意义SQL注入漏洞SQL注入攻击(SQL Injection),简称注入攻击、SQL注入,被广泛用于非法获取网站控制权,是发生在应用程序的数据库层上的安全漏洞。在设计程序,忽略了对输入字符串中夹带的SQL指令的检查,被数据库误认为是正常的SQL指令而运行,从而使数据库受到攻击,可能导致数据被窃取、更改、删除,以及进一步导致网站被嵌入恶意代码、被植入后门程序等危害。跨站脚本漏洞跨站脚本攻击(Cross-site scripting,通常简称为XSS)发生在客户端,可被用于进行窃取隐私、钓鱼欺骗、窃取密码、传播恶意代码等攻击。XSS攻击使用到的技术主要为HTML和Javascript,也包括VBScript和ActionScript等。XSS攻击对WEB服务器虽无直接危害,但是它借助网站进行传播,使网站的使用用户受到攻击,导致网站用户帐号被窃取,从而对网站也产生了较严重的危害。弱口令漏洞弱口令(weak password) 没有严格和准确的定义,通常认为容易被别人(他们有可能对你很了解)猜测到或被破解工具破解的口令均为弱口令。设置密码通常遵循以下原则:(1) 不使用空口令或系统缺省的口令,这些口令众所周之,为典型的弱口令。(2) 口令长度不小于8个字符。(3) 口令不应该为连续的某个字符(例如:AAAAAAAA)或重复某些字符的组合(例如:tzf.tzf.)。(4) 口令应该为以下四类字符的组合,大写字母(A-Z)、小写字母(a-z)、数字(0-9)和特殊字符。每类字符至少包含一个。如果某类字符只包含一个,那么该字符不应为首字符或尾字符。(5) 口令中不应包含本人、父母、子女和配偶的姓名和出生日期、纪念日期、登录名、E-mail地址等等与本人有关的信息,以及字典中的单词。(6) 口令不应该为用数字或符号代替某些字母的单词。(7) 口令应该易记且可以快速输入,防止他人从你身后很容易看到你的输入。(8) 至少90天内更换一次口令,防止未被发现的入侵者继续使用该口令。HTTP报头追踪漏洞HTTP/1.1(RFC2616)规范定义了HTTP TRACE方法,主要是用于客户端通过向Web服务器提交TRACE请求来进行测试或获得诊断信息。当Web服务器启用TRACE时,提交的请求头会在服务器响应的内容(Body)中完整的返回,其中HTTP头很可能包括Session Token、Cookies或其它认证信息。攻击者可以利用此漏洞来欺骗合法用户并得到他们的私人信息。该漏洞往往与其它方式配合来进行有效攻击,由于HTTP TRACE请求可以通过客户浏览器脚本发起(如XMLHttpRequest),并可以通过DOM接口来访问,因此很容易被攻击者利用Struts2远程命令执行漏洞Apache Struts是一款建立Java web应用程序的开放源代码架构。Apache Struts存在一个输入过滤错误,如果遇到转换错误可被利用注入和执行任意Java代码。网站存在远程代码执行漏洞的大部分原因是由于网站采用了Apache Struts Xwork作为网站应用框架,由于该软件存在远程代码执高危漏洞,导致网站面临安全风险。CNVD处置过诸多此类漏洞框架钓鱼漏洞(框架注入漏洞)框架注入攻击是针对Internet Explorer 5、Internet Explorer 6、与 Internet Explorer 7攻击的一种。这种攻击导致Internet Explorer不检查结果框架的目的网站,因而允许任意代码像Javascript或者VBScript跨框架存取。这种攻击也发生在代码透过多框架注入,肇因于脚本并不确认来自多框架的输入。这种其他形式的框架注入会影响所有的不确认不受信任输入的各厂商浏览器和脚本。文件上传漏洞文件上传漏洞通常由于网页代码中的文件上传路径变量过滤不严造成的,如果文件上传功能实现代码没有严格限制用户上传的文件后缀以及文件类型,攻击者可通过 Web 访问的目录上传任意文件,包括网站后门文件(webshell),进而远程控制网站服务器。因此,在开发网站及应用程序过程中,需严格限制和校验上传的文件,禁止上传恶意代码的文件。同时限制相关目录的执行权限,防范webshell攻击。应用程序测试脚本泄露由于测试脚本对提交的参数数据缺少充分过滤,远程攻击者可以利用洞以WEB进程权限在系统上查看任意文件内容。防御此类漏洞通常需严格过滤提交的数据,有效检测攻击私有IP地址泄露漏洞IP地址是网络用户的重要标示,是攻击者进行攻击前需要了解的。获取的方法较多,攻击者也会因不同的网络情况采取不同的方法,如:在局域网内使用Ping指令,Ping对方在网络中的名称而获得IP;在Internet上使用IP版的QQ直接显示。最有效的办法是截获并分析对方的网络数据包。攻击者可以找到并直接通过软件解析截获后的数据包的IP包头信息,再根据这些信息了解具体的IP。简要操作系统层面漏洞影响范围通过漏洞去获取权限,对操作系统形成干扰,使得某些服务崩溃数据库层面识别数据库类型常见方法(1)数据库分类小型数据库 Access中型数据库 MySQL大型数据库 Oracle、SQL Server(2)通过网站及操作系统识别ASP+Access,sql server (windows)PHP+Mysql(linux、windows) 端口:3306ASPX+Mssql(windows) 端口:1433Jsp+Mssql(windows),oracle (linux、windows)端口:1521Python+Mongodb (linux、windows)注意:access和mssql不支持linux操作系统(3)使用nmap工具扫描,查看端口开放情况sql server——–端口:1433Mysql————-端口:3306Oracle————-端口:1521Mongodb———端口:27017数据库类型区别及识别意义每个数据库里面的安全机制,内部结构都有些许不一样,同样产生的漏洞也不一样。不同的数据库,攻击方法、漏洞类型及影响都有不同数据库常见漏洞类型及攻击弱口令攻击:通过弱口令登录到数据库中,得到网站管理员数据信息,登录网站后台,进行修改简述数据库层面漏洞影响范围通过漏洞,进行攻击,也可以获取数据库的相关权限,进行一系列的操作第三方层面如何判断有哪些第三方平台和软件常见的第三方软件:Jboss,PHPmyadmin,vsftpd,teamview等比如phpmyadmin的判定• 通过网站扫描其目录来判定,如果网站探测不到,那就通过端口扫描。要多层次判断,不能仅限于端口扫描,根据不同的应用采取不同的方法。• 如果nmap扫描不出来,可能是有第三方防护软件(安全狗)等拦截。还有可能是对方服务部署在内网。简述为什么要识别第三方平台或软件通过识别第三方软件,来找出漏洞,从而进行渗透测试简述第三方平台或软件安全测试的范围直接影响到权限其他除去常规web安全及app安全测试外,类似服务器单一或复杂的其他服务(邮件,游戏,负载均衡等),也可以作为安全测试目标,此类目标测试原则只是少了web应用或其他安全问题,所以明确安全测试思路是很重要的演示:MySQL身份认证绕过 CVE-2012-2122进入vulhub所在的文件夹,然后进入CVE-2012-2122的文件夹2.布置并启动测试环境命令:docker-compose builddocker-compose up -d3.试验机查看IP地址信息,使用Kali进行nmap扫描命令:nmap -sV -O 192.168.139.1344.使用Kali中 metasploit里自带的攻击模块命令:msfconsole5.搜索MySQL漏洞攻击模块命令: search mysql6.利用模块然后查看设置选项利用命令:use auxiliary/scanner/mysql/mysql_authbypass_hashdump7.查看选项命令:show options8.设置目标地址命令:set rhost 192.168.139.134设置线程为100命令:set threads 1000运行命令:exploit
本文出自快速备案,转载时请注明出处及相应链接。