1.Gitea源码分析(一)
2.逆向pyinstaller打包的私服exe软件,获取python源码(1)
3.逆向pyinstaller打包的源码源码exe软件,获取python源码(3)
4.Fate家族的开服codepay模仿源码
5.CVE-2021-3019 Lanproxy 目录遍历漏洞
6.逆向pyinstaller打包的exe软件,获取python源码(2)
Gitea源码分析(一)
Gitea是私服一个基于Go编写的Git代码托管工具,源自于gogs项目,源码源码具有良好的开服bodsoft directui 源码后端框架和前端集成。
前端框架采用Fomantic UI和Vue,私服路由控制器框架在年4月从macaron切换到chi,源码源码形成了gitea项目的开服结构基础。
在调用接口时,私服gitea引入了'User',源码源码'Repo',开服'Org'等内容,私服简化了接口调用,源码源码便于管理。开服'ctx.User'和'ctx.Repo'内容动态变化,需要用户登录和进入仓库时赋值。
在'routers'下,'handler'相关文件分为'get'和'post'两类,前者涉及前端渲染,后者负责执行操作。
'get'请求通过'templates'中的文件渲染到前端,通过'ctx.Data["name"]'传递需要渲染的天天二八杠源码数据,获取URL参数使用'c.Query'。
'post'请求接收前端数据,通常通过'form'传值,从'context'生成,可以使用'form.xxx'直接调用,添加内容则需在'form'结构体中定义。
渲染生成网页使用'ctx.Html(,tplName)',根据'context'内容做条件判断。
权限管理功能实现中,数字越大权限越高,便于后续对比。'UnitType'包含多项,如仓库页面导航栏显示。检查权限时,对比AccessModeRead和模块权限,大于则认为具有读权限。
gitea默认运行于单一服务器,伸缩性有限。若需分布式改造,需解决大规模并发访问、存储库分片和数据库支撑等问题。通过ELB负载均衡分散到多个节点,抢答器源码数据库使用集群方案,但存储库分片面临巨大挑战,现有技术难以实现。
官方文档提供了其他开源库的介绍,包括配置文件、容器方式下的轻量仓库与CI使用方案等。深入研究可发现Gitea的配置、路由控制框架chi、权限管理实现及分布式架构改造思路。
逆向pyinstaller打包的exe软件,获取python源码(1)
年创作了一款安全事件分析小工具,这是我初次尝试为安全驻场人员开发的简易工具。利用pyinstaller打包为PE格式,使用起来十分便捷,只需导入态势感知的安全事件列表,小工具便会自动进行分析。这款工具旨在辅助驻场人员理解安全事件,同时收集现场信息,便于后续运营效果评估。 近期,在探索逆向工程的过程中,我了解到可以逆向pyinstaller打包的php源码混淆加密exe软件,从而获取python源码。这促使我回忆起之前在GitHub上分享的项目。现在,就让我讲述这个过程:逆向工程之旅。 小工具操作步骤如下:首先,对exe程序进行反编译处理。
接着,进入反编译后得到的extracted文件夹。
仔细观察struct.pyc和main.pyc文件头的前字节,它们之间可能存在关键线索。
然后,对pyc文件进行反编译,逐步揭示python源代码。
最后,虽然目前只能看到主函数,但这是逆向工程的一个重要突破。
尽管未能完全揭示所有函数,但这无疑为后续深入研究打开了新的可能。逆向pyinstaller打包的exe软件,获取python源码(3)
年,我开发了第三个安全运营小工具,这个工具是大卖场源码为安全驻场人员设计的。本来打算将其与第一个软件整合,但由于时间限制未能实现。当时过于急于求成,没有深入分析代码。然而,最近的一次威胁狩猎事件激发了我对逆向工程的兴趣,我顺便尝试了逆向pyinstaller打包的exe软件,以获取python源码。回顾过去的代码,转眼已到年。我一直从事网络安全业务,但在coding技术上却毫无进步。今年,我决心提升代码水平,争取创造出有差异性的成果。
提醒:故事还有后续,我将逆向pyinstaller打包的exe软件的所有源代码:ailx:逆向pyinstaller打包的exe软件,获取python源码(6)
态势感知体检小工具说明:
第一步:对exe程序进行反编译[1]
第二步:进入新获得的extracted文件夹
第三步:查看struct.pyc和main.pyc前4字节之间的区别
第一个软件前个字节,第二个软件只有前8个字节相同,第三个软件只有前4个字节相同,不知道为什么,但我在这里并未发现任何问题。
第四步:反编译pyc文件得到python源代码
第五步:欣赏一下反编译的代码
Fate家族的codepay模仿源码
集成微信支付、支付宝支付、QQ钱包支付的第三方接口,无需手续费,无需签约,即时到账的第三方支付平台,如今成为了许多站长寻求实惠、便捷支付解决方案的首选。然而,年3月,这样的支付行业突然消失,原因不明。对这一现象,读者们自行思考,这里不进行深入讨论。
码支付平台不仅提供集成多种主流支付方式的便利,更在成本控制上为用户带来了实实在在的优惠。对于寻求合适、经济支付解决方案的站长来说,如何将这种平台引入自己的网站,成为了当务之急。
好消息是,实现这一目标并非难事。站长们可以通过自行搭建一套源码,对接到自己的支付系统中,不仅实现了成本的节省,更确保了操作的自由度和灵活性。这种定制化的解决方案适用于各类网站,满足了不同场景下的支付需求。
具体操作步骤、源码获取方式等详细信息,可通过访问以下链接获取:3cym.com/m/product/view...
CVE-- Lanproxy 目录遍历漏洞
Lanproxy 0.1版本存在路径遍历漏洞,此漏洞允许攻击者通过读取'../conf/config.properties'文件,获取内部网络连接凭证。Lanproxy是一个内网穿透工具,支持TCP流量转发,适用于各种TCP上层协议,如访问内网网站、本地支付接口调试、SSH访问、远程桌面等。修复前,修复补丁检测路径中是否存在'../',若存在则返回'Forbidden'。漏洞成因在于未对用户输入的路径进行过滤,允许攻击者利用此漏洞访问任意文件。
漏洞复现过程中,首先拉取源码:git clone github.com/ffay/lanprox...,然后回退到漏洞修复前的版本:cd lanproxy/;git reset --hard fadb1fca4dbcbcd9fbb8b2f;maven编译项目:mvn package。项目编译后,会在根目录下生成distribution目录,包含服务端、客户端文件。
在配置文件config.properties中,可以使用Payload进行漏洞测试:运行启动命令:sh distribution/proxy-server-0.1/bin/startup.sh;访问.0.0.1:端口,环境启动成功后,获取到config.properties配置文件,其中包含管理页面用户名、密码、以及SSL相关配置。
漏洞分析过程中,通过设置debug模式,发现Lanproxy启动脚本中的调试端口为。在IDEA中配置动态调试,断点设置在src/main/java/org/fengfei/lanproxy/server/config/web/HttpRequestHandler.java#outputPages处,通过URI实例获取到uriPath:/%2F..%2Fconf%2Fconfig.properties。接下来,判断该路径是否为'/',若是返回index.html,否则返回获取到的uriPath。随后,使用PAGE_FOLDER获取当前程序目录,拼接uriPath生成新的File实例rfile,进一步检查是否为目录,并验证文件是否存在。最终使用RandomAccessFile()读取文件,已达到读取config.properties文件的目的。
修复建议包括:安装最新Lanproxy版本,可以通过源码或最新安装包进行更新。源码下载链接为github.com/ffay/lanprox...,安装包下载链接为file.nioee.com/d/2e...
逆向pyinstaller打包的exe软件,获取python源码(2)
年,我开发了第二个安全运营工具——统一运营,专为驻场运营管理员设计。该工具需要与第一个工具安全事件分析(ailx:逆向pyinstaller打包的exe软件)配合使用。安全事件分析工具会产生一个db文件,存储客户态势感知平台上的安全事件信息。统一运营工具对多个客户的数据进行横向AI聚类分析和纵向历史基线分析,并构建分析报表,自动生成邮件。在此过程中,我使用了一个复杂的算法进行横向对比,即9:1开,强制%的安全驻场不及格。近期,遇到一个beacon加密程序被同事破解,激发了我对逆向的兴趣,于是我开始逆向pyinstaller打包的exe软件,获取python源代码。
提醒:故事还有后续,逆向成功获取pyinstaller打包的exe软件的所有源代码:ailx:逆向pyinstaller打包的exe软件,获取python源码(5)
自动化运营周报小工具说明:
第一步:对exe程序进行反编译[1]
第二步:进入新获得的extracted文件夹
第三步:查看struct.pyc和main.pyc前8字节之间的区别
第一个软件前个字节,第二个软件只有前8个字节相同,不知道为啥,不过我这里并未处理
第四步:反编译pyc文件得到python源代码
第五步:欣赏一下反编译的代码
非常遗憾,暂时只能看到主函数,看不到最核心的my_core函数,不知道咋弄