cdxy.me
Footprints on cyber security and Python

Security Misc
1 购买或搭建服务 可以自己购买海外服务器搭建,或者付费向服务商索取shadowsocks的登录凭证,一般包含如下字段: {"server":"xxx.xxx.xxx","server_port":xxx,"password":"xxx","method":"xxx"} 我们把这段json代码存储为/etc/shadowsocks/jp.json 2 下载客户端 下载:pip ... Read More
Research
Template Injection 之前两篇曝光率很高的文章中指出了Flask SSTI成因及利用方式 exploring-ssti-in-flask-jinja2 exploring-ssti-in-flask-jinja2-part-ii 文中已指出利用方式,事实上使用__class__.__base__.subclasses__可以直接执行命令。 {% for c in ... Read More
Penetration Testing
之前的案例 《某Python学习网站在线编码导致命令执行》 漏洞修复后再次绕过的两种方法。 测试仍以黑名单形式过滤关键字。且只过滤用户输入,并未影响到运行时。 方案 复活eval/exec函数 通过eval执行简单混淆过的payload躲避黑名单 通过os.popen拿到shell 方法1:复活eval poc exp a = 'e' + 'val' p = 'po' + 'pen' ... Read More
Research
防御机制 目前主流CSRF的防御思路可总结为:在用户携带的信息(Cookie)之外置入token并在服务端检验,该token要满足一次性、随机性 主流Python后端框架(Flask/Django/Tornado)使用Session/Cookie-Form的验证机制避免CSRF。 Flask官方文档给出的解决方案(Session-Form): ... Read More
Web development
Requirements apt-get install virtualenv python-dev supervisor nginx git (venv) pip install uwsgi uWSGI uwsgi.ini [uwsgi] socket = 127.0.0.1:8080 wsgi-file = wsgi.py callable = app processes = 4 ... Read More
Web development
从WordPress的博客数据迁到Flask,表结构发生很多变化,在手动修改了表名后想要使用Alembic自动将column的属性同步时出现错误。 均由外键的不同步引起,Alembic的更新是无序的。 外键添加失败 sqlalchemy.exc.IntegrityError: (pymysql.err.IntegrityError) (1452, u'Cannot add or ... Read More
Python
Web development
思路 前端加载Markdown编辑器,数据通过POST传数据到后端并存入数据库。 后端取出数据,在模板中将Markdown解析为HTML再输出给用户。 在线编辑器 使用开源产品: Editor.md 安装 从github下载zip,解压重命名为editormd,并置入Flask的static文件夹。 路由 model.py @main_blueprint.route('/test1') ... Read More
Analysis
漏洞危害 WP允许作者发布一种带密码验证的文章,该漏洞可绕过密码保护查看内容。 代码分析 官方修复方案,仅修改了检查的权限。 https://github.com/WordPress/WordPress/commit/a2904cc3092c391ac7027bc87f7806953d1a25a1 检查权限失败会break,此时 ... Read More
Analysis
通过这个漏洞熟悉一下WP的代码。 数据跟踪 [xmlrpc.php] 获取POST的数据 $HTTP_RAW_POST_DATA = file_get_contents( 'php://input' ); 创建xmlrpc_server,使用serve_request()方法处理输入。 $wp_xmlrpc_server_class = apply_filters( ... Read More
Exploit
Analysis
概要 因为未能过滤掉latest.php页面中toggle_ids数组的输入,导致Zabbix 2.2.x,3.0.x 远程SQL注入 源码分析 下载了两份官方代码对比,左为3.0.4(已修复的版本),右为3.0.3 \zabbix-3.0.3rc1\frontends\php\jsrpc.php 可见新版本中删除的代码即为漏洞触发部分。 /* * Ajax */ if ... Read More