S1xHcL's Blog.

S1xHcL's Blog.

it's better to burn out than to fade away

Apache Struts漏洞分析学习-S2-062
前言缝合怪文章,刚接触Java,尝试分析和学习漏洞的原理 漏洞背景2022年4月12日,Apache发布安全公告,修复了一个Apache Struts2 中的远程代码执行漏洞S2-062(CVE-2021-31805),攻击者可以利用此漏洞来控制受影响的系统。该漏洞是由于 2020 年 S2-061(CVE-2020-17530) 的不完整修复造成的,当开发人员使用了 %{…} 语法进行强制 OGNL 解析时,仍有一些特殊的 TAG 属性可被二次解析,攻击者可构造恶意的 OGNL表达式 触发漏洞,从而实现远程代码执行。 影响范围 2.0.0 <= Apache...
PHP-Audit Day10 程序未恰当exit导致的问题
函数学习 extract :(PHP 4, PHP 5, PHP 7) 功能 :从数组中将变量导入到当前的符号表 定义 : int extract ( array &$array [, int $flags = EXTR_OVERWRITE [, string $prefix = NULL ]] ) Demo学习123456789101112131415161718<?phpextract($_POST);function goAway() { error_log("Hacking attempt."); header(&#...
PHP-Audit-Day09-str-replace-函数过滤不当
函数学习 str_replace :(PHP 4, PHP 5, PHP 7) 功能 :子字符串替换 定义 : mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] ) 该函数返回一个字符串或者数组。如下: str_replace(字符串1,字符串2,字符串3):将字符串3中出现的所有字符串1换成字符串2。 str_replace(数组1,字符串1,字符串2):将字符串2中出现的所有数组1中的值,换成字符串1。 str_replace(数组1,数组2,字符串1)...
查找 spring heapdump 中的密码明文
前言最近在做项目的时候,遇到Spring框架,扫描字典发现可以访问/env较多接口,还有1G的heapdump文件。 但是翻阅的时候发现一些带有敏感关键词的属性名对应的属性值都被******代替。 网上搜索后发现可以通过 Eclipse Memory Analyzer来分析/heapdump文件查找对应明文密码。 安装和使用安装比较简单,直接下载工具到本地打开就可以使用。 左上角点击File –> Open heap Dump导入heapdump文件,等待完成后点击Finish 点击OQL后输入查询语句,点击红色感叹号进行查询。 查找明文密码spring boot x11...
PHP-Audit Day08 preg_replace函数之命令执行
函数学习 preg_replace:(PHP 5.5) 功能 : 函数执行一个正则表达式的搜索和替换 定义 : mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] ) 搜索 subject 中匹配 pattern 的部分, 如果匹配成功以 replacement 进行替换。 $pattern 存在 /e 模式修正符,允许代码执行 /e 模式修正符,是 preg_replace() ** 将 **$repla...
PHP-Audit Day07 parse_str函数缺陷
函数学习 parse_str 功能 :parse_str的作用就是解析字符串并且注册成变量,它在注册变量之前不会验证当前变量是否存在,所以会直接覆盖掉当前作用域中原有的变量。 定义 :void parse_str( string $encoded_string [, array &$result ] ) 如果 encoded_string 是 URL 传入的查询字符串(query string),则将它解析为变量并设置到当前作用域(如果提供了 result 则会设置到该数组里 )。 Demo学习12345678910111213141516171819202122232425&...
PHP-Audit Day06 正则使用不当导致的路径穿越问题
函数学习 preg_replace:(PHP 4, PHP 5, PHP 7) 功能 : 函数执行一个正则表达式的搜索和替换 定义 : mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] ) 搜索 subject 中匹配 pattern 的部分, 如果匹配成功将其替换成 replacement 。 Demo学习123456789101112131415161718192021222324252627282930...
PHP-Audit Day05 escapeshellarg与escapeshellcmd使用不当
函数学习 escapeshellarg — 把字符串转码为可以在 shell 命令里使用的参数 功能 :escapeshellarg() 将给字符串增加一个单引号并且能引用或者转码任何已经存在的单引号,这样以确保能够直接将一个字符串传入 shell 函数,shell 函数包含 exec(),system() 执行运算符(反引号) 定义 :string escapeshellarg ( string $arg ) escapeshellcmd — shell 元字符转义 功能 :escapeshellcmd() 对字符串中可能会欺骗 shell 命令执行任意命令的字符进行转义。 此函数...
PHP-Audit Day04 strpos使用不当引发漏洞
函数学习 strpos — 查找字符串首次出现的位置 作用:主要是用来查找字符在字符串中首次出现的位置。 结构:int strpos ( string $haystack , mixed $needle [, int $offset = 0 ] ) Demo学习1234567891011121314151617181920212223<?phpclass Login { public function __construct($user, $pass) { $this->loginViaXml($user, $pass); &#...
PHP-Audit Day03 实例化任意对象漏洞
函数学习 class_exists :(PHP 4, PHP 5, PHP 7) 功能 :检查类是否已定义 定义 : bool class_exists ( string $class_name[, bool $autoload = true ] ) $class_name 为类的名字,在匹配的时候不区分大小写。默认情况下 $autoload 为 true ,当 $autoload 为 true 时,会自动加载本程序中的 __autoload 函数;当 $autoload 为 false 时,则不调用 __autoload 函数。 SimpleXMLElement :(PHP 5, ...
avatar
S1xHcL
学习学习还是他妈的学习