从的角度看攻击中的五酯/红队
好的,让我们假设我们正在尽力避免检测或避免Blue意识到脚本导入模块'x‘。
我们在代码中实现了一个故障安全,以检查条件是否为。如果这不是我们的目标,我们希望脚本的行为方式不会引起注意。
据我理解,Blue可以使用流程分析(这是正确的词吗?)以了解python脚本在运行时实际做了什么。
假设Blue没有查看实际的python脚本,而是查看python脚本所进行的调用,那么是否可以只在条件为时导入一个模块。这将降低检测阈值。
但是,我遇到了python文档,这些文档建议在脚本开始时保留所有导入。这样,我们就无法实现IF语句来选择是否应该导入某些内容。
伪码(Python)
import sys
# ...other functions
def check_user():
# check user against target fingerprint
if a is True:
import x
TLDR:我可以使用IF/ Can语句导入模块吗?稍后我可以在python脚本中导入一个模块吗?
安全性相关的问题:在不分析实际代码的情况下,使用什么好的程序来分析python脚本及其调用/操作?
发布于 2018-09-15 11:02:27
您可以在Python中有条件地导入模块。
例子:
def check():
if sys.version_info[0] == 2:
from itertools import izip
else:
izip = zip
a=[1,2,3]
b=[4,5,6]
print(izip)
for c in izip(a,b):
print(c)
这里基于Python版本的izip是有条件地导入的。
发布于 2018-09-15 11:04:49
您可以这样做:
import sys
if sys.version_info > (2, 7):
import simplejson as json
else:
import json
https://stackoverflow.com/questions/52347895
复制