最近在服务平台的安全渗透测试中遇到了JAVAmysql框架的网站。对于这个框架,Sine安全渗透的技术工程师梳理了实际的网站漏洞扫描方法和安全防护恢复方法。实现框架系统漏洞获取系统软件管理权限、跨管理权限将木马病毒加载到侧门等很多实际 *** 作,有望在渗透测试中找到很多专业知识和工作经验。
4.2.1.格式化字符串
在Python中,有两种格式化字符串的方法。在Python2的较低版本中,格式化字符串的方式是“这是一个%s”%“测试”,然后对格式化的方式进行了改进。英语语法是“这是一个{}”。格式(“测试”)或“这是一个{测试}”。格式(测试='测试'
当客户键入格式化字符串时,很可能会导致一些问题。这里有一个非常简单的例子。
>>>{0}的类是{0。__class__}”。格式(42)
“42人的班级是”
从上面简单的例子来看,理解起来不会太难。当我们可以 *** 纵要格式化的字符串时,我们可以应用__init__/__globals__的特性来加载一些更敏感的值,甚至可以随意编码。
4.2.2.反序列化
4.2.2.1.泡菜
>>>A类(对象):
...a=1
...b=2
...def__reduce__(自己):
...返回(子流程。Popen,(('cmd.exe',),))
>>>cPickle.dumps(A())
"csubprocessnpopenp1n((S'cmd.exe'NP2NTP3NTP4nrp5n,"
4.2.2.2.其他?
PyYAML
整理
罢免
4.2.3.沙箱
4.2.3.1.常见功能
评估/执行/编译
目录/类型
全局/局部/变量
getattr/setattr
4.2.3.2.忽视
一个很简单的思路就是在已有的控制模块中导入,如果其中一个控制模块已经被导入使用,就可以应用了。
在父类中寻找可用的控制模块,最常见的有效载荷是()。__class__。__bases__[0]。__子类__()或获取全局作用域__init__。_func__。__globals__通过魔法。
有些网站不担心pickle控制模块,可以使用pickle完成任意代码执行,形成可以应用的有效载荷。
有些沙箱已经删除了相关的控制模块代码,这样就可以应用libc中的函数了。在Python中,一般可以应用ctypes或者cffi。
"A""B"=="AB"
4.2.3.3.防御力量
Python的官方网站提出了一些防御建议。
应用Jython,尝试应用Java服务平台锁定程序流程的管理权限。
应用假根来防止
应用rootjail的一些技巧
4.2.4.体系结构
4.2.4.1.姜戈
4.2.4.1.1.历史时间系统的脆弱性
CVE-2016-7401CSRF旁路
CVE-2017-7233/7234开放重定向漏洞
CVE-2017-12794调试页面XSS
4.2.4.1.2.配备相关
Nginx作为Django的反向代理时,静态数据文件名配置不正确会造成源代码泄露。浏览/静态..将跳转到/static../
4.2.4.2.瓶
Flask的默认设置是应用移动客户端的会话,这样会话就可以被假冒。
4.2.5.风险承受能力/控制模块目录
4.2.5.1.指令被执行。
os.popen
*** 作系统
os.spawn
os.fork
os.exec
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)