<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Specif1c的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/haduwi</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; haduwi]]></copyright><item><title><![CDATA[记一次 APK 逆向动静调试 + so 动态链接库分析]]></title><link>https://blog.csdn.net/haduwi/article/details/139904833</link><guid>https://blog.csdn.net/haduwi/article/details/139904833</guid><author>haduwi</author><pubDate>Wed, 26 Jun 2024 20:28:50 +0800</pubDate><description><![CDATA[好久没有做过安卓逆向了，最近重新系统地学习了安卓逆向技术。找到了一道较为典型的逆向分析题来练手，以锻炼动静态分析和动态链接库分析的基本能力。在这里记录基本的分析流程手法。通过 APK 逆向和 so 动态链接库分析，了解应用的内部逻辑和行为。静态分析帮助我们初步理解代码结构和关键点，而动态调试则允许我们在运行时获取更详细的信息。两者结合，可以有效地进行应用的逆向工程和安全分析。]]></description><category></category></item><item><title><![CDATA[2023年第四届 “赣网杯” 网络安全大赛 gwb-web3 Write UP【PHP 临时函数名特性 + 绕过trim函数】]]></title><link>https://blog.csdn.net/haduwi/article/details/135047061</link><guid>https://blog.csdn.net/haduwi/article/details/135047061</guid><author>haduwi</author><pubDate>Mon, 18 Dec 2023 16:17:42 +0800</pubDate><description><![CDATA[从GET请求中获取名为’func’的参数，然后使用trim函数去除首尾空格，并将结果赋给变量$func。：从GET请求中获取名为’pass’的参数，然后使用trim函数去除首尾空格，并将结果赋给变量 $password。：在条件成立时，定义了一个名为youwin的函数，它的作用是输出名为’/flag’的文件的内容，使用了file_get_contents函数。：定义了一个名为hint的函数，它的作用是显示当前文件的源代码，使用了show_source函数。：调用根据’func’参数确定的函数。]]></description><category></category></item><item><title><![CDATA[2023年江西省“振兴杯”网络信息行业（信息安全测试员）职业技能竞赛 Write UP]]></title><link>https://blog.csdn.net/haduwi/article/details/134770273</link><guid>https://blog.csdn.net/haduwi/article/details/134770273</guid><author>haduwi</author><pubDate>Fri, 08 Dec 2023 17:30:21 +0800</pubDate><description><![CDATA[web页面一直在播放cavas 动画，显示字体内容为：TEXTArray = [“你”, “永远”, “也”, “看不见”, “我”, “站在”, “窗边”, “最难过”, “的样子”, “因为”, “你”, “知道的”, “在”, “所有”, “看不见”, “你的”, “时候”, “才是”, “最”, “难”, “过”, “的”, “我”, “爱”, “你”];UDP 几乎没见过，先排除。因此，如果我们分析代码，我们会发现两件事，第一件事是应用程序日志被写入/tmp/app中的文件，这也是。]]></description><category></category></item><item><title><![CDATA[记一次 AWD 比赛中曲折的 Linux 提权]]></title><link>https://blog.csdn.net/haduwi/article/details/134130284</link><guid>https://blog.csdn.net/haduwi/article/details/134130284</guid><author>haduwi</author><pubDate>Tue, 31 Oct 2023 00:09:16 +0800</pubDate><description><![CDATA[使用 sqlmap -os-shell 可能导致获取到与目标系统相关的命令执行权限，但这与操作系统的 root 权限无关。-os-shell 的具体权限取决于目标系统上正在运行的 Web 应用程序的用户权限，而不是数据库的 root 权限。SUID是赋予文件的一种权限，它会出现在文件拥有者权限的执行位上，具有这种权限的文件会在其执行时，使调用者暂时获得该文件拥有者的权限。在数据库管理系统中，root 用户是具有最高权限的用户，可以执行所有管理任务，包括创建、删除、修改数据库对象以及用户帐户。]]></description><category></category></item><item><title><![CDATA[2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP]]></title><link>https://blog.csdn.net/haduwi/article/details/134097204</link><guid>https://blog.csdn.net/haduwi/article/details/134097204</guid><author>haduwi</author><pubDate>Sun, 29 Oct 2023 00:17:07 +0800</pubDate><description><![CDATA[2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP]]></description><category></category></item><item><title><![CDATA[[CVE-2016-4437] Apache Shiro 安全框架反序列化漏洞复现与原理详细分析]]></title><link>https://blog.csdn.net/haduwi/article/details/127399463</link><guid>https://blog.csdn.net/haduwi/article/details/127399463</guid><author>haduwi</author><pubDate>Fri, 21 Oct 2022 02:03:37 +0800</pubDate><description><![CDATA[Apache Shiro是一个强大且易用的 Java安全框架,执行身份验证、授权、密码和会话管理。shiro 相比于 springsecurity 简单许多，官方号称 10 分钟就能学会。shiro 反序列化漏洞是 Java 经典漏洞，于2016年被挖掘出来，到现在依旧很多系统存在该漏洞，非常值得学习，对加深 shiro 认证机制的理解以及java代码审计颇有帮助。]]></description><category></category></item><item><title><![CDATA[[WooYun-2016-226888] SpringBoot框架SpEL漏洞复现与原理详细分析]]></title><link>https://blog.csdn.net/haduwi/article/details/126326511</link><guid>https://blog.csdn.net/haduwi/article/details/126326511</guid><author>haduwi</author><pubDate>Tue, 16 Aug 2022 19:31:49 +0800</pubDate><description><![CDATA[这是2016年爆出的一个洞，在 CVE 上没有找到对应编号，经过多方资料查阅最终确认是唐朝实验室在乌云上提交的该通用漏洞，缺陷编号为WooYun-2016-226888。漏洞的产生主要来自程序员没有做异常处理 (开发要养成好习惯:fist:)，使用了 springboot 默认的报错页面 (Whitelabel Error Page)，默认报错页面会把判断参数是否是 SpEL 表达式，如果是就进行解析，进而导致一些危险操作的发生。由于继 2016年后依旧频频出现相关框架出现 SpEL 表达式注入漏洞，具有学]]></description><category></category></item><item><title><![CDATA[使用 IDEA 快速远程调试 Docker 中运行的 Java 应用程序 （附解决思考过程）]]></title><link>https://blog.csdn.net/haduwi/article/details/126296308</link><guid>https://blog.csdn.net/haduwi/article/details/126296308</guid><author>haduwi</author><pubDate>Sat, 13 Aug 2022 03:17:13 +0800</pubDate><description><![CDATA[最近在复现&分析 Java 领域历史相关漏洞，学习 Java 框架漏洞代码审计思路。分析原理少不了调试，然而每次都得搭建漏洞环境，又是构建maven, 又是引入依赖，挺繁琐的。Github 有很多其他同行利用 Docker 搭建好的漏洞环境镜像，一键拉取运行即可,  但是问题来了, 运行在 docker 容器里的程序我怎么断点调试呢？手上没有构建镜像时的源代码，该怎么办呢？
.....................]]></description><category></category></item><item><title><![CDATA[[CVE-2021-45105] Apache Log4j2 漏洞复现与原理详细分析]]></title><link>https://blog.csdn.net/haduwi/article/details/126219801</link><guid>https://blog.csdn.net/haduwi/article/details/126219801</guid><author>haduwi</author><pubDate>Wed, 10 Aug 2022 02:22:14 +0800</pubDate><description><![CDATA[2021年12月9日，各大公司都被一个核弹级漏洞惊醒了，该漏洞一旦被攻击者利用就会造成及其严重的影响。该漏洞甚至被认为可能是“计算机历史上最大的漏洞”。]]></description><category></category></item><item><title><![CDATA[如何将抓包工具证书(cer,crt, pem)写入到Android系统内置根证书目录中实现 HTTPS 抓包]]></title><link>https://blog.csdn.net/haduwi/article/details/125696208</link><guid>https://blog.csdn.net/haduwi/article/details/125696208</guid><author>haduwi</author><pubDate>Sat, 09 Jul 2022 23:29:23 +0800</pubDate><description><![CDATA[如何让抓包工具证书(cer,crt, pem)写入到Android系统内置根证书中，实现 HTTPS 抓包]]></description><category></category></item><item><title><![CDATA[基于 function-plot.js 开源库绘制数学函数图像实现兼文档翻译]]></title><link>https://blog.csdn.net/haduwi/article/details/125101592</link><guid>https://blog.csdn.net/haduwi/article/details/125101592</guid><author>haduwi</author><pubDate>Sat, 04 Jun 2022 02:34:37 +0800</pubDate><description><![CDATA[前段时间移动项目想实现一个能实时绘制数学函数图像的H5小应用, app 通过 webview 进行嵌入，目前网上提供了大致有两种方法：①、Chart.js 结合 Plugins 绘制 ===> https://www.bianchengquan.com/article/475747.html②、原生 JavaScript + canvas 计算描点绘制 ===> https://blog.csdn.net/weixin_30341745/article/details/94964723经过测试这两个方法应对]]></description><category></category></item><item><title><![CDATA[Spring Security 4 中的 hasRole 和 hasAuthority 差异引发的思考]]></title><link>https://blog.csdn.net/haduwi/article/details/124506653</link><guid>https://blog.csdn.net/haduwi/article/details/124506653</guid><author>haduwi</author><pubDate>Sat, 14 May 2022 00:50:23 +0800</pubDate><description><![CDATA[前言：
在使用 Spring Security 的时候我们必然会使用到如下两种访问权限配置中的一种：

第一种：

http.authorizeRequests()
        .antMatchers("/root/**").hasAuthority("root")
        .antMatchers("/admin/**").hasAuthority("admin")
        .anyRequest().authenticated()


第二种：

http.authorizeReq]]></description><category></category></item><item><title><![CDATA[Uniapp: 原生Android插件开发调试打包详细历程 --- 不再为付费插件买单（例：安卓原生 TCPSocket 连接通信插件实现）]]></title><link>https://blog.csdn.net/haduwi/article/details/124422976</link><guid>https://blog.csdn.net/haduwi/article/details/124422976</guid><author>haduwi</author><pubDate>Tue, 26 Apr 2022 16:31:50 +0800</pubDate><description><![CDATA[原生Android插件开发调试打包详细历程 --- 不再为付费插件买单！]]></description><category></category></item><item><title><![CDATA[PTA-天梯赛-练习集：L2-008 最长对称子串 (动态规划)]]></title><link>https://blog.csdn.net/haduwi/article/details/124262057</link><guid>https://blog.csdn.net/haduwi/article/details/124262057</guid><author>haduwi</author><pubDate>Mon, 18 Apr 2022 23:02:20 +0800</pubDate><description><![CDATA[一、题目如下：


二、解题思路：

子问题：dp [ i ] [ j ] 是否为回文字符串。
dp[ i ] [ j ] ：从字符串的下标 i 到 j 的字符串；
dp[ i ] [ j ] == 1 ：该字符串为对称字符串；
dp[ i ] [ j ] == 0 ： 该字符串不是对称字符串；
dp[ i ] [ j ] == 1 的前提：dp[ i + 1 ] [ j - 1 ] == 1 并且 str[ i ] == str[ j ]；

dp 初始化：
标记 dp[ i ] [ i ] == 1；
]]></description><category></category></item><item><title><![CDATA[PTA-天梯赛-练习集：L2-001 紧急救援 (迪杰斯特拉求最短路径并输出最短路径中经过顶点最多的路径)]]></title><link>https://blog.csdn.net/haduwi/article/details/124221624</link><guid>https://blog.csdn.net/haduwi/article/details/124221624</guid><author>haduwi</author><pubDate>Sat, 16 Apr 2022 22:55:18 +0800</pubDate><description><![CDATA[一、题目如下

二、解题思路：


典型单源最短路径问题，但是题目除了求两点之间的最短路径，还要尽可能多的召集救援队数量。那么我们需要记录经过顶点最多的最短路径，即为所求。我们一般做最短路径题求出结果就行了。这道题恰好能练习如何输出最短路径的各个顶点，并且自定义选择输出最短路径是经过顶点最少的路径还是经过顶点最多的路径。


三、代码实现：
#include&lt;bits/stdc++.h&gt;
using namespace std;

const int N = 550;
const int INF]]></description><category></category></item><item><title><![CDATA[Netty4.x: Server端 设置 option 警告 Unknown channel option ‘xxxx‘ for channel 分析及解决 (附源码分析)]]></title><link>https://blog.csdn.net/haduwi/article/details/124014005</link><guid>https://blog.csdn.net/haduwi/article/details/124014005</guid><author>haduwi</author><pubDate>Thu, 07 Apr 2022 13:32:42 +0800</pubDate><description><![CDATA[一、问题背景：
最近某springboot项目想嵌入一个用户聊天功能，打算使用 Rabbitmq + Netty4.x + Redis 来开发高性能聊天功能。花费三天时间所有功能都已实现。启动时却警告 ：Unknown channel option 'xxxx' for channel '[id: 0xba18fac1]', 虽然是个告警但是必须解决，否则会影响正在准备建立连接的握手以及激活心跳机制-&gt;TCP自动发送一个活动探测数据报文


netty 使用的版本是  4.1.6


二、源码分析
1]]></description><category></category></item><item><title><![CDATA[Docker 一键部署 SpringBoot 后端API + MySQL + Redis + Nginx + RabbitMq 服务]]></title><link>https://blog.csdn.net/haduwi/article/details/123836198</link><guid>https://blog.csdn.net/haduwi/article/details/123836198</guid><author>haduwi</author><pubDate>Wed, 30 Mar 2022 01:25:40 +0800</pubDate><description><![CDATA[一、前言：
 在开发中，频繁部署项目是日常。是不是已经厌倦了各种服务环境的配置？这里将使用 Docker 容器技术一键部署整个项目，只需编写 docker-compose.yml 和 Dockerfile 即可。Docker 你值得拥有！

二、前期准备：

1、已经打包成 jar 包的 SpringBoot 项目（假设是一个智慧校园APP的后端API服务）
2、一台装有docker的Linux服务器 (建议使用 Linux)


三、编写 Dockerfile

这里通过编写 webapi-Dockerf]]></description><category></category></item><item><title><![CDATA[Docker: driver failed programming external connectivity on endpoint xxx 问题分析及解决]]></title><link>https://blog.csdn.net/haduwi/article/details/123802343</link><guid>https://blog.csdn.net/haduwi/article/details/123802343</guid><author>haduwi</author><pubDate>Wed, 30 Mar 2022 00:35:48 +0800</pubDate><description><![CDATA[问题如下：
重启容器发现无法正常启动，报错：driver failed programming external connectivity on endpoint xxx

问题分析：
首先理清一下我做了什么操作。我记得在我开启docker后，执行 docker-compose up -d 启动完容器后，发现无法连接 MySQL 容器，经查没有关闭防火墙，未开放3306端口，因此执行 systemctl stop firewalld.service 关闭防火墙，最后我 docker-compose rest]]></description><category></category></item><item><title><![CDATA[唯一分解定理(数论) - 第十一届蓝桥杯B组决赛C/C++ - 试题 C: 阶乘约数]]></title><link>https://blog.csdn.net/haduwi/article/details/123821688</link><guid>https://blog.csdn.net/haduwi/article/details/123821688</guid><author>haduwi</author><pubDate>Wed, 30 Mar 2022 00:03:46 +0800</pubDate><description><![CDATA[一、 如题：

二、解题思路：
看到这道题，我最先想到的自然是暴力解法，先求 100 的阶乘的 ans，然后 ans 算有多少个正约数。但是显然这样做不行，想想 100 的阶乘可是非常大的, 计算机 long long 都装不下，所有这题暴力指定是没戏。既然这样那肯定是有什么数学方法来解这道题。


约数的定义： 约数又称因数，整数A除以整数B(B≠0) 除得的商正好是整数而没有余数，我们就说A能被B整除，或B能整除A。A称为B的倍数，B称为A的约数

三、实现代码：
#include &lt;bits/s]]></description><category></category></item><item><title><![CDATA[MySQL 5.7: DataGrip 通过 mysqldump 进行数据库备份至单个文件操作相关问题解决 (Permission denied)]]></title><link>https://blog.csdn.net/haduwi/article/details/123784153</link><guid>https://blog.csdn.net/haduwi/article/details/123784153</guid><author>haduwi</author><pubDate>Sun, 27 Mar 2022 23:50:53 +0800</pubDate><description><![CDATA[前言：
 首先真的很想谴责一下那些水文的博主，要写博客就好好写，写得什么牛马玩意儿，误人子弟。本来一步能解决的事情，硬是弄得这么复杂还无法解决。贴两个典型在这里挂着：


问题背景：
众所周知我们使用 DataGrip  进行导出数据库时，导出的数据库都是分表一个一个导出的文件，这样我们下次导入的时候就比较麻烦，得一个一个操作。那么有没有什么方法能把当前数据库所有表导出到一个文件里呢？答案是当然可以，可以让 DataGrip  基于 MySQL 自带的 mysqldump  命令导出。但是在导出的过程告诉我]]></description><category></category></item></channel></rss>