thinkphp5.x
ThinkPHP5.x RCE漏洞描述本次漏洞存在于 Builder 类的 parseData 方法中。由于程序没有对数据进行很好的过滤,将数据拼接进 SQL 语句,导致 SQL注入漏洞 的产生。漏洞影响版本: 5.0.13<=ThinkPHP<=5.0.15 、 5.1.0<=ThinkPHP<=5.1.5 。
环境搭建使用vulhub的docker环境一键部署
systemctl start docker //启动docker
git clone https://github.com/vulhub/vulhub.git //拉取vulhub靶场代码
cd /vulhub/thinkphp/5-rce //进入5-rce目录
docker-compose up -d //启动docker环境
docker-compose ps //查看服务端口
漏洞分析
跟进controller的走向
当控制器名中包含了反斜杠,就会直接返回
经过parseName之后index变成了首字母大写
回到thinkphp/library/think/App.p ...
ThinkPHP漏洞之ThinkPHP 2.x 任意代码执行
ThinkPHP漏洞之ThinkPHP 2.x 任意代码执行漏洞描述在ThinkPHP ThinkPHP 2.x版本中,使用preg_replace的/e模式匹配路由:
1$res = preg_replace('@(\w+)'.$depr.'([^'.$depr.'\/]+)@e', '$var[\'\\1\']="\\2";', implode($depr,$paths));
导致用户的输入参数被插入双引号中执行,造成任意代码执行漏洞。
ThinkPHP 3.0版本因为Lite模式下没有修复该漏洞,也存在这个漏洞。
如果此时正则规则中使用了/e这个修饰符,则存在代码执行漏洞。
12e 配合函数preg_replace()使用, 可以把匹配来的字符串当作正则表达式执行; /e 可执行模式,此为PHP专有参数,例如preg_replace函数。
环境搭建使用vulhub的docker环境一键部署
systemctl start docker //启动docker ...
Flask(Jinja2)服务端模板注入漏洞
Flask(Jinja2)服务端模板注入漏洞漏洞简介flask/ssti漏洞,即: Flask(Jinja2) 服务端模板注入漏洞(SSTI)。Flask 是一个使用 Python 编写的轻量级 Web 应用框架,Flask 为你提供工具,库和技术来允许你构建一个 web 应用程序。这个 web 应用程序可以是一些 web 页面、博客、wiki、基于 web 的日历应用或商业网站。Jinja 2是一种面向Python的现代和设计友好的模板语言。
环境配置启动docker
1sudo docker-compose up -d
启动app.py
漏洞复现题目源码
1234567891011121314from flask import Flask, requestfrom jinja2 import Templateapp = Flask(__name__)@app.route("/")def index(): name = request.args.get('name', 'guest') t = Templat ...
frida
Frida+python3.9+雷电模拟器1.安装frida+frida-tools
12pip install fridapip install frida-tools
2.查看模拟器android的系统时64还是32的
123adb shell getprop ro.product.cpu.abiadb shell “ps |grep zygote” adb shell “ps |grep 1244(进程id)” 列出系统运行的app
https://blog.csdn.net/achirandliu/article/details/123967450
3.下载frida-server
打开github,搜索到frida,https://github.com/frida/frida/releases/tag/15.1.1
修改自己的版本号,找到对应的server即可
4.frida安装与配置
1adb push xxx\frida-server /data/local/tmp/
将下载的server导入模拟器中
修改文件的读写权限
1234adb shellsucd /data ...
DASCTF2022 X FATE-奇怪的交易
DASCTF2022 X FATE-奇怪的交易
查一下,upx壳,直接脱壳进行
很多都是PYI_PROCNAME,GitHub查一下可以知道这个是pyinstall的
使用objcopy转储pydata部分。这个部分包含pyc (Python字节码)。让我们在一个干净的目录中工作。
这里中文名不好使用,改成atta
12objcopy --dump-section pydata=atta.dump attapython pyinstxtractor.py atta.dump
https://github.com/extremecoders-re/pyinstxtractor
提取后通过Uncompyle6对pyc文件进行反编译。
https://github.com/rocky/python-uncompyle6/
直接对他进行反编译的话是会报错,
把py打包成exe的时候,pyc文件前面的8个字节会被抹掉,所以反编译的时候需要加回来,pyc同目录struct文件前8个字节就是需要的内容。
具体的可以看这一篇文章https://wzt.ac.cn/2019/02/13/pyc-si ...