记录一次事情

核心提示一、文章前言 本文为记录实战过程中遇到的问题及思考,旨在思路分享及自我总结。文中涉及目标站点为SRC授权站点,为防止漏打码已对实际链接进行了部分删减,如去除了链接目录名等。整个测试过程涉及未授权访问、暴力破解、存储型XSS、SQL注入,到最

首先,文章的前言

为了记录实战中遇到的问题和思考,本文旨在分享思路,自我总结。本文中的目标站点是SRC授权的站点,为了防止漏码,删除了一些实际的链接,比如链接目录名。整个测试过程涉及未经授权的访问,暴力破解,存储XSS,SQL注入,最后得到外壳,这是略显曲折。

PS:截止提交,漏洞已提交给厂商,并验证已修复。

二。信息采集

打开目标站点,登录系统界面。安装到intranet地址的VNC远程协助链接。经过测试,登录没有验证码,失败次数被锁定。可以试试暴力破解。这里,先收集信息。

目的地:http://1.2.3.4/login.aspx

script: aspx,从登录页面得知;

服务器:IIS7.5,通过404和403错误页可用;

数据库:可能是SQL Server,常见组合;

安全性:未知,IP端口扫描会被屏蔽一段时间,但是测试和1=1不屏蔽,没有WAF或者严格保护策略不启动;

通过检查返回的数据包,发现服务器是nginx/1.17.2,判断应该有反向代理。

第三,暴力破解

通过对现有信息的分析,首选暴力破解。密码md5前端在系统首页加密后传输。这里选择burp的HASH-MD5进行爆破。

系统登录失败返回的信息是“登录失败xxx”,无法确认用户是否存在。

查看页面的源代码,我们发现http://1.2.3.4/client/是存在的。

该页面不使用md5加密密码,也就是说

首页:http://1.2.3.4/密码加密传输。

客户端:http://1.2.3.4/client/密码明文传输

这里使用http://1.2.3.4/client/进行爆破,不需要MD5加密来提高效率。但是,使用name500和一个自定义的字典,包括常见的测试账号,3位数,4位数,5位数等。,构成了5000多个用户名,爆破密码为123456,88888,11111,但都没有爆破。

当时的思路是先确定用户名,比如工号等。,然后用弱密码炸账号。没想过直接爆admin,因为当时感觉后台可能不会登录这里。现在我觉得我也可以直接盲爆admin用户了。

所以当时先收集用户名,用Google语法,Site:xxx工号,但是没有收获。只有对于有登录界面的系统,只有掌握了用户名的规则,才能提高爆号的概率,大概就是这里的工号。当用户名收集失败时,会打开目录扫描以查看是否有任何敏感信息。

四。越权存取

通过对站点的目录扫描,存在以下目录和文件。

逐一访问:

Css.aspx access弹出登录超时,跳转到登录界面,禁用js access空white;

Reg.aspx访问软件的注册页面;

main.aspx访问炸弹登录并超时。跳转到登录界面,禁用js,返回页面如下:

查看源代码,发现main_d.aspx存在如下:

禁用对main_d.aspx的js访问以返回到以下页面:

继续检查源代码,找到下面的地址。

禁用对http://1.2.3.4/MyWork/Richeng/RichengmyList_show.aspx ID = 12的js访问

点击修改,这里没有被测id的SQL注入。

这个页面有很多附件,包括体检附件登记表。单击下载链接,如下所示:

点击下载跳转到登录界面。

在这里,我感觉有什么文件都可以下载,但是可能需要你登录,然后爆掉你的账号就可以测试了。

http://1.2.3.4/file_down.aspx编号=file/liaotian/201922xx.xls

下载文件并尝试构建http://1.2.3.4/file/liaotian/201922xx.xls.

如上获取本单位员工编号,用excel生成暴力破解的员工编号列表。

5.登录到系统

已获取上述工号组合,生成01111-05555进行爆破,使用密码123456,11111,88888,123qwe,qwe123,123123,123321。

使用密码123321时,成功爆破了一个弱密码用户。

使用此帐户登录系统。

系统中有许多功能模块。测试以前下载的文件。

http://1.2.3.4/file_down.aspx编号=file/liaotian/201922xx.xls

尝试下载web.config

http://1.2.3.4/file_down.aspx号码=web.config

测试中没有任意文件下载,修改文件后直接定位到文件,这样下载,

逐个测试后续系统的功能点。

六。文件上传

后台功能有四个上传点。

上传点1-密封上传:

上传点2-邮件附件:

上传点3-头像上传:

上传点4:善良编辑器4.1.10编辑器,貌似无解。

上传点1,上传文件的路径为:/seal/2021815238.png。

该目录不限制脚本执行,但是脚本文件不能上传。试图绕过它失败了。

上传点2,上传文件的路径为:/file/file/email file/2021081523 . png

该目录限制脚本执行,即脚本文件不能在/file目录中执行。

这个上传点可以上传aspx之类的文件,但是后缀是。未知。

后续注入点发现上传后缀写在数据库中,可以通过update语句添加后缀,但是没有跨目录的方法。即使上传了aspx脚本文件,也无法执行。

上传文件后,截图如下:

后续查看数据库,允许上传的文件后缀如下:

上传点3,上传任意文件。上传后,路径为/SystemManage/User/file/。

测试目录限制脚本执行,并且不能跨目录。

七。存储XSS

由于上述后台上传功能测试后getshell无法上传,我们会考虑是否能找到权限高的账号,管理员账号可能有修改上传文件格式的权限。

此时,存储的XSS存在于测试邮件中,用户cookie可用于发送邮件。

将邮件发送给自己,当您的收件箱打开时:

你可以发送一封带有XSS的邮件给管理员,当管理员打开邮件时,你可以得到管理员的cookie。在这里,使用服务器酱,可以实现获取cookie后的微信提醒通知,还可以将邮件发送给自己进行测试。

写邮件,插入XSS平台的有效载荷。

收件箱打开后

微信收到服务器酱的通知

登录XSS平台查看,成功获取用户cookie信息。

在这里构造XSS后,会给管理员发送一封标题为【问题建议】的邮件,增加了管理员打开的概率,即打开邮件可以获得管理员的cookie。

同时,在为收件人选择邮件的地方,可以找到组织结构,可以列出所有用户的工号、部门、姓名信息。

所以可以收集用户的工号,这里找到的管理员就是admin。在等待xss的同时,您还构建了一个字典来轰炸admin。

然后admin的密码被成功爆破,发现在“弱密码TOP1000”中没有找到密码。如果从一开始就把admin展开,可能就不会展开了。我个人习惯是爆TOP1000,一开始也不确定管理员是不是admin。

这里也说明了拥有一本强有力的字典是多么重要。

使用admin登录系统后,只有以下两个功能模块。没有修改上传设置的功能,我很失望。

发现测试登录管理员也没用,还是上不了壳。既然没办法上传,那就找注入点。如果是sa的注入点,拿到壳的概率要高很多。

八、SQL注入

于是我回到后台每个功能点进行测试。经过一番测试,终于找到了注射点。链接如下:

测试1=1页正常。

测试1=2页异常

突发数据库版本信息

如上确认SQL注入的存在,并使用sqlmap来利用它。当前用户是SA。

Test-—os-shell命令失败,可能被安全设备截获。

这个时候还查了数据库的总表,发现管理后台某一点的文件上传格式在数据库中是可以后缀的,但是不能跨目录,所以即使可以上传脚本,也无法获取外壳。

九、GetShell

经过手动测试,注入点支持栈注入。这里尝试用sp_oacreate写一匹马。SQL如下所示:

声明@f int,@ g int“exec sp_oacreate”脚本。FileSystemObject ',@ f outputEXEC SP_OAMETHOD @f,' CreateTextFile ',@f OUTPUT,' c:shell.asp ',1;EXEC sp_oamethod @f,' WriteLine ',null,''

但是你需要知道网站的根目录。在这里,您可以使用xp_dirtree来遍历目录。SQL如下所示:

create table dirs,depth int,filee int);

insert dirs exec xp_dirtree 'c: ',1,1

创建表后,首先执行以下查询。在这里,查询驱动器C目录中的文件夹和文件:

http://1.2.3.4/WorkFlow/AddWorkFlow_add_Next.aspx tmp = 0.8307731177113578 add = UpNodeNum = 11, flow number = 20189139012187 ';insert dirs exec xp_dirtree 'c: ',1,1。- FormId=86Number=202181414

如果页面恢复正常,则语句执行成功,然后到sqlmap查询dirs表下的内容,就是c盘的目录内容:

使用上述方法,成功找到了d:OA下的网站根目录。

执行SQL语句来写文件shell.asp

声明@f int,@ g int“exec sp_oacreate”脚本。FileSystemObject ',@ f outputEXEC SP_OAMETHOD @f,' CreateTextFile ',@f OUTPUT,' d:OAshell.asp ',1;EXEC sp_oamethod @f,' WriteLine ',null,''

打开链接:http://1 . 2 . 3 . 4/shell . ASP空白色,中国菜刀连接成功。

上传冰蝎,然后就可以用socks代理访问内网了。

通过systeminfo收集系统信息,可用于后续维权。

以上成功获得目标站点外壳。

X.摘要

渗透往往需要细心和耐心,再加上一点运气。当我们找不到背景中的贝壳时,我们可以试着找到背景中的SQL注入。权限高的注入点可以直接写外壳。或者当我们有SQL注入点但是不会写shell的时候,可以尝试读取管理员账号的密码,登录后台测试是否存在文件上传漏洞,从而获取shell。关注不同漏洞的危害,并加以组合,往往能取得意想不到的效果。

这是整篇文章的结尾。感谢您的阅读。希望你能从中有所收获。

 
友情链接
鄂ICP备19019357号-22