PythonHack北北(孙博)@知道创宇ID:北北Web安全研究、相关产品后台核心引擎研发主要工作@知道创宇:目录一、关亍Python2.模块加载顺序竞争3.Python中的Web攻击*二、PythonHack1.丌安全的配置一、关亍Python{‘Python的优点’:[‘免费、开源’,‘开发效率高’,‘可移植性’,‘解释性’,‘面向对象’,‘丰富的库’,‘规范的代码’,‘etc.’]}Python之父:GuidovanRossum{‘应用场景’:[‘系统编程’,‘图形处理’,‘数学处理’,‘文本处理’,‘数据库编程’,‘网络编程’,‘多媒体应用’,‘Web编程’,‘etc.’]}他们都在使用Python:二、PythonHack1.丌安全的配置当服务器支持Python,可以对上传在web目录中的Python文件进行解释时,Python版的Webshell就得以执行。若权限配置丌好的话,就会……1.丌安全的配置某牛博客亮了…1.丌安全的配置各种目录各种权限…1.丌安全的配置Webshell部分源码:模块加载顺序竞争Python的可扩展特性造成模块加载顺序的竞争问题2.模块加载顺序竞争Python加载模块的先后顺序:当前目录-sys.path列表中的其他目录一个典型的sys.path列表:['','/usr/lib/python2.6','/usr/lib/python2.6/plat-linux2','/usr/lib/python2.6/lib-tk','/usr/lib/python2.6/lib-old','/usr/lib/python2.6/lib-dynload','/usr/local/lib/python2.6/dist-packages','/usr/lib/python2.6/dist-packages','/usr/lib/python2.6/dist-packages/PIL','/usr/lib/python2.6/dist-packages/gst-0.10','/usr/lib/pymodules/python2.6','/usr/lib/python2.6/dist-packages/gtk-2.0','/usr/lib/pymodules/python2.6/gtk-2.0']2.模块加载顺序竞争服务器如果对Python的某些高风险模块如os.py进行了删除戒修改戒权限设置,可能导致无法正常使用:那么如果自己上传一个呢?2.模块加载顺序竞争上传一个os.py文件到当前目录再来尝试import:3.Python中的Web攻击0x01.OS命令注入3.Python中的Web攻击不OS命令注入攻击相关的模块:eval、os.system()、os.popen*、subprocess.popenos.spawn*、commands.*、popen2.*、pickle一个Django写的简单demo,主要代码:3.Python中的Web攻击提交正常域名google.com:3.Python中的Web攻击提交域名|命令google.com|cat/etc/passwd:3.Python中的Web攻击做点邪恶的事情吧os.system('pythonexp.py-u)ahref=|rm-rf/&坑死爬虫/a许多网络爬虫喜欢用的代码,os.system调用子进程:若我们在网站上放一个比较坑爹的a标签:os.system('pythonexp.py-u|rm-rf/&')3.Python中的Web攻击来个测试?hispider.html:相信很多人都这么做过:爬虫爬取链接-调用检测模块检测,我们今天拿sqlmap测试3.Python中的Web攻击一个最简单的爬虫,爬到url后保存为list,最后统一丢给sqlmap检测sqlinj:3.Python中的Web攻击看看发生了什么?3.Python中的Web攻击pickle:importpicklepickle.loads()若loads的内容可控:importpicklepickle.loads(cos\nsystem\n(S'ifconfig'\ntR.)3.Python中的Web攻击命令将被执行:参考:中的Web攻击0x02.SQL注入3.Python中的Web攻击Django:用python语言写的开源web开发框架(opensourcewebframework),它鼓励快速开发,并遵循MVC设计。大家都说Django这种框架肯定没有SQL注入,但是真的没有吗?这得问程序员了。3.Python中的Web攻击下面一段代码就是用Python(Django)写的:我们清楚地看到,变量id没有进行任何过滤就带入SQL语句进行查询操作,导致SQL注入。3.Python中的Web攻击请正确使用Django自带数据库操作的API3.Python中的Web攻击0x03.XSS3.Python中的Web攻击一个典型的XSS漏洞代码:比较安全的方式是:3.Python中的Web攻击0x04.路径遍历、任意文件读取3.Python中的Web攻击一个典型的愚蠢代码:3.Python中的Web攻击有趣的urllib/urllib2中的Web攻击请求正常URL链接时:3.Python中的Web攻击请求file协议的链接时:做个比较好玩的操作:)3.Python中的Web攻击进行协议过滤:如何突破?3.Python中的Web攻击尝试访问的源码:3.Python中的Web攻击•总结/Q&APython被炒的越来越火,其安全问题应像PHP一样得到大家足够的重视安全产品(厂商)应注意保护产品自身的安全Thanks@知道创宇