python 财务报表审计_Python代码审计中一些需要重点关注的项

SQL注入:

如果是常规没有进行预编译,或者直接使用原生的进行拼凑,那么在view的时候就需要多去观察了

【PythonSQL预编译】https://www.cnblogs.com/sevck/p/6733702.html

如果项目使用例如Django,虽然Django自己封装了操作数据库的函数,但是Django也支持raw:

def index(request, *args, **kwargs):for e in Person.objects.raw('select * from FIRST_Person WHERE first_name =' + '"' + request.GET.get('user') + '"'):print(e.last_name)return render(request, 'home.html')

命令注入:

os,commands,subprocess,multiprocessing,pty,Cpickle/pickle,PyYAML

如果使用了这些需要多去关注和跟踪相关的信息。

例如:

os.system("curl %s",(request.get("url")))

那么攻击者也可以进行拼凑,例如 http://a.com|id等等多种方式去绕过,姿势有$IFS\;\#,等等,

pickle可进行序列化和反序列化操作:

#Create your tests here.

importosimportpickle#Exploit that we want the target to unpickle

classExploit(object):def __reduce__(self):return (os.system, ('ls',))

shellcode=pickle.dumps(Exploit())

pickle.loads(shellcode)

在pickle中,查了网上的,发现关于解决办法,如何修复一直没有人提。

昨天和Phithon交流的时候,总结如下:

https://docs.python.org/3/library/pickle.html?highlight=pickle#restricting-globals

pickle默认也支持做白名单,用户自定义find_class方法即可。

YAML注入:

737185-20190308160944011-1769135907.png

可参考:

http://blog.knownsec.com/2016/03/pyyaml-tags-parse-to-command-execution/

参考:

【linux下不用空格执行带参数的5种姿势】https://www.cnblogs.com/sevck/p/6072721.html

XSS和其他平台类似,再次不再累赘,主要介绍python特点中需要关注的点.

CSRF:

Django,默认自带且支持防止CSRF,如果取消需要增加修饰符

越权/逻辑/水平漏洞:

python开发很多可能没有特别的关注这方面,在做黑盒或者白盒审计的时候需要多去关注此方面

------------------------------

自动化检测:

笔者在甲方安全实践过程中,开发了代码审计系统,并且上线检测,发现了一些高危、甚至严重的安全漏洞。

在做跟踪安全问题总结了如上,需要关注的安全点;提供pythoner、secer参考:

[甲方安全建设之路]自动化代码审计系统 https://www.cnblogs.com/sevck/p/10432981.html

360的安全客文章也总结的不错,可以参考:

https://www.anquanke.com/post/id/87007

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值