基于python的自动化代码审计

基于python的自动化代码审计

ID:33337577

大小:1.62 MB

页数:52页

时间:2019-02-24

基于python的自动化代码审计_第1页
基于python的自动化代码审计_第2页
基于python的自动化代码审计_第3页
基于python的自动化代码审计_第4页
基于python的自动化代码审计_第5页
资源描述:

《基于python的自动化代码审计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于Python的自动化代码审计逢魔安全实验室-xfkxfk自我介绍~$iduid=0(xfkxfk@formsec)gid=0(web安全研究员,工控安全研究员)groups=0(FormSec)内容简介常规漏洞静态分析动态分析自动化应用Python常规漏洞常规漏洞defgetuser(request):username=request.POST.get('username')query='select*fromuserswhereusername=%s'%usernameSQL注入connection=psycopg2.connect

2、(dbname,user,host,password)curs=connection.cursor()curs.execute(query)res=curs.fetchall()connection.clouse()returnres常规漏洞defgetuser(request):username=request.POST.get('username')query='select*fromuserswhereusername=%s'注入防御connection=psycopg2.connect(dbname,user,host,passw

3、ord)curs=connection.cursor()curs.execute(query,[username])res=curs.fetchall()connection.clouse()returnres常规漏洞defstore_uploaded_file(request):uploaded_file=request.POST.get('filename')upload_dir_path="static/uploads“命令执行ifnotos.path.exists(upload_dir_path):os.makedirs(uplo

4、ad_dir_path)cmd="mv"+uploaded_file+""+"%s"%upload_dir_pathos.system(cmd)return'static/uploads/%s'%uploaded_file常规漏洞defstore_uploaded_file(request):uploaded_file=request.POST.get('filename')upload_dir_path="static/uploads"执行防御ifnotos.path.exists(upload_dir_path):os.makedir

5、s(upload_dir_path)cmd="mv"+uploaded_file+""+"%s"%upload_dir_pathsubprocess.Popen(cmd,shell=False)return'static/uploads/%s'%uploaded_file其他漏洞……XSSXXECSRFSSRFSSTI代码注入目录穿越越权操作其他…静态分析备注静态分析fromtaskMnager.formsimportPorjectFileFormdefgetproj(request,project_id):requestifreques

6、t.mothod=“POST”:username=request.POST.get(„name‟,False)curs=connection.cursor()usernamesql=“select*fromprowherename=„%s‟”%usernamecurs.execute(sql)else:form=ProjectFileForm()executereturnrender(request,„index.html‟,{„form‟:form})备注静态分析可控数据(参数)通过系统处理最后进入危险函数可控参数列表危险函数列表静态分

7、析查找可控参数新的变量=初始参数经过一系列处理后新变量可控直接赋值属性赋值字符串拼接函数处理分片取值列表解析式字符串操作函数未过滤函数备注静态分析将py文件通过ast解析为tree并递归解析导入模块{‘body’:[{},{},{},…],‘filename’:‘/django.nV/taskManager/views.py’,‘type’:‘Module’}静态分析获取body中的函数体内容fromtaskMnager.formsimportPorjectFileForm{Body[0]‘_fields’:[],defgetproj(r

8、equest,project_id):‘args’:{request,project_id},ifrequest.mothod=“POST”:‘body’:[{},{}],name=reque

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。