python文件审计系统_Python系统审计-笔记

Python系统审计

运维安全

端口开放

1、自定义端口

2、通用端口

弱口令

1、数据库弱口令

2、redis&memcache

3、共享中间件

4、Nsf0cus!@#

debug开关

1、`\

2、django settings.py Debug=True

svn或git信息泄露

涉密存储传输

1、用base64加密码密码

2、私钥存储,权限

代码角度

XSS

1、属性动态内容

2、mark_safe,autoescape

3、dom类型

4、httpresponse返回动态内容

CSRF

1、CSRF中间件

2、表单csrf_token

3、相应view函数

命令注入<1>

1、os系列命令

2、commands系统命令

3、subprocess,shell=True

路径穿越

1、未考虑../

2、任意文件下载

3、任意文件删除

4、任意文件写入

文件上传

1、前端js控制不起作用

2、文件后缀白名单

3、文件大小控制,防dos

4、上传文件改名,rand()

5、注意上传过程中的条件竞争攻击

sql注入<1>

1、django raw,execute,extra方法where处

2、psycopy2等底层库

xml注入 原理类似sql

ldap注入

1、利用闭合ldap查询语句

(&(user=admin*)(objectClass=*))(|(objectClass=void)(passwd=passwd))

The rusult:

In [70]:import ldap

In [71]:I

=ldap.initialize('ldap://10.0.0.0:389')

In [76]:

I.bind('LADP_ROOTDN','LDAP_ROOTPW')

In [77]:

I.search_s('LDAP_ROOTDN',ldap.SCOPE_SUBTREE,'(cn=356*)')

Out [77]:

[('cn=35602d93-a8ab-3ba1-991a-74cfde8cb333,cn=xxlegend,o=customer',....

2、防御:

ldap.filter.escape_filter_chars转义,)(,*,\x00五个字符

xxe

1、lxml

%xxe;]>

2、利用xml 实体注入

3、libxml 2.9以下

4、XMLParser默认resolve_entity=True

ssrf

1、风险接口

<1>pycurl

c=pycurl.Curl()

c.setopt(c.URL,'file:///etc/passwd')

<2>urllib2

<3>requests

<4>对@符号识别:requests和pycurl可识别,urllib2不识别。

2、限定协议http或https

3、限定端口

4、限定返回结果

代码注入

<1>eval

利用代码:如

eval("__import__('os').system('uname')")

错误封装

如builtings置为空,利用代码

建议ast.literal_eval()

<2>pickle

利用代码:如

class Run(object):

...: def__reduce(self):

...: return (os.system,('uname'))

pickle.loads(pickle.dumps(run()))

建议json

<3>yaml

利用代码:如

exp="""!!python/object/apply:os.system args:['uname -a']

yaml.load(exp)

<4>marshal

功能角度

授权

认证

弱口令

传输

<1>明文传输,证书

<2>get请求

<3>SSL

存储

<1>base64编码存储

<2>Subtopic

防暴力

<1>验证码

普通验证码(直接返回;验证码不正确不更新;验证错误后xhr请求更新)

短信验证码

<2>错误次数

密码找回

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值