<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[angry_program的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/angry_program</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; angry_program]]></copyright><item><title><![CDATA[Apache Log4j2 RCE 远程命令执行漏洞复现与分析]]></title><link>https://blog.youkuaiyun.com/angry_program/article/details/121994740</link><guid>https://blog.youkuaiyun.com/angry_program/article/details/121994740</guid><author>angry_program</author><pubDate>Sat, 18 Dec 2021 11:48:33 +0800</pubDate><description><![CDATA[Apache Log4j2 远程代码执行漏洞。由于Log4j2 组件在处理程序日志记录时存在JNDI 注入缺陷，未经授权的攻击者利用该漏洞，可向目标服务器发送精心构造的恶意数据，触发Log4j2 组件解析缺陷，实现目标服务器的任意代码执行，获得目标服务器权限。本文主要复现漏洞过程和研究漏洞原理。]]></description><category></category></item><item><title><![CDATA[Servlet内存马]]></title><link>https://blog.youkuaiyun.com/angry_program/article/details/118492214</link><guid>https://blog.youkuaiyun.com/angry_program/article/details/118492214</guid><author>angry_program</author><pubDate>Thu, 08 Jul 2021 11:11:58 +0800</pubDate><description><![CDATA[1. 何谓内存马？

以Tomcat为例，内存马主要利用了Tomcat的部分组件会在内存中长期驻留的特性，只要将我们的恶意组件注入其中，就可以一直生效，直到容器重启。

Java内存shell有很多种，大致分为：


1. 动态注册filter

2. 动态注册servlet

3. 动态注册listener

4. 基于Java agent拦截修改关键类字节码实现内存shell


该文主要研究Servlet内存马的原理和实现。



2. 何为Servlet？

Tomcat 服务器是一个免费的开放源代]]></description><category></category></item><item><title><![CDATA[Filter内存马浅析]]></title><link>https://blog.youkuaiyun.com/angry_program/article/details/116661899</link><guid>https://blog.youkuaiyun.com/angry_program/article/details/116661899</guid><author>angry_program</author><pubDate>Tue, 11 May 2021 17:32:28 +0800</pubDate><description><![CDATA[1. 何谓内存马？

以Tomcat为例，内存马主要利用了Tomcat的部分组件会在内存中长期驻留的特性，只要将我们的恶意组件注入其中，就可以一直生效，直到容器重启。

Java内存shell有很多种，大致分为：


1. 动态注册filter

2. 动态注册servlet

3. 动态注册listener

4. 基于Java agent拦截修改关键类字节码实现内存shell


该文主要研究Filter内存马的原理和实现。



2. Filter注册流程

假设有一个需要注册的filter类——F.]]></description><category></category></item><item><title><![CDATA[缓存投毒 -- 学习笔记]]></title><link>https://blog.youkuaiyun.com/angry_program/article/details/113124854</link><guid>https://blog.youkuaiyun.com/angry_program/article/details/113124854</guid><author>angry_program</author><pubDate>Thu, 28 Jan 2021 23:30:39 +0800</pubDate><description><![CDATA[什么是缓存投毒？
缓存投毒，顾名思义攻击点在于服务端的缓存功能，一些服务端会存储/缓存频繁被请求内容，当多个用户请求同一资源文件时，服务端直接返回事先缓存好的资源，从而减少服务端不必要的工作量。但若缓存的内容是被攻击者篡改过的话，那么所有请求该缓存资源的用户都将受到攻击影响，这就是缓存投毒。
完整的说，缓存投毒分为两步：

找到如何从后端服务器获取包含某种危险的payload的响应；
确保该响应被缓存在服务器，使得受害者请求服务器缓存的资源时，该缓存可成功传递攻击到受害者主机上。

缓存投毒可以是一种破坏性]]></description><category></category></item><item><title><![CDATA[HTTP Host 头攻击 -- 学习笔记]]></title><link>https://blog.youkuaiyun.com/angry_program/article/details/109034421</link><guid>https://blog.youkuaiyun.com/angry_program/article/details/109034421</guid><author>angry_program</author><pubDate>Mon, 19 Oct 2020 02:22:53 +0800</pubDate><description><![CDATA[1. HTTPHost头攻击

从HTTP / 1.1开始，HTTP Host标头是必需的请求标头。 它指定客户端要访问的域名。 例如，当用户访问https://portswigger.net/web-security时，其浏览器将组成一个包含Host标头的请求，如下所示：



GET /web-security HTTP/1.1
Host: example.net

在某些情况下，例如当请求由代理转发时，Host值可能会在到达预期的后端组件之前进行更改。也就发生了Host头攻击。



2. HT...]]></description><category></category></item><item><title><![CDATA[逻辑漏洞 -- 学习笔记]]></title><link>https://blog.youkuaiyun.com/angry_program/article/details/108958318</link><guid>https://blog.youkuaiyun.com/angry_program/article/details/108958318</guid><author>angry_program</author><pubDate>Sat, 10 Oct 2020 15:34:55 +0800</pubDate><description><![CDATA[什么是业务逻辑漏洞

业务逻辑漏洞是应用程序的设计和实现中的缺陷，攻击者可以利用这些缺陷引发意外行为。这可能使攻击者能够操纵合法功能来实现恶意行为。这些缺陷通常是由于无法预期可能发生的异常应用程序状态，因此无法安全处理它们所导致的。





逻辑漏洞通常很难发现的，因为通常不会在应用程序的正常使用中暴露它们。但是，攻击者可以通过开发人员“意料之外”的方式与应用程序进行交互来攻击利用。

业务逻辑的主要设计意图之一是强制执行设计应用程序或功能时定义的规则和约束。业务规则规定了在特定场景发生时应用程序应如何反]]></description><category></category></item><item><title><![CDATA[HTTP请求夹带攻击 -- 学习笔记]]></title><link>https://blog.youkuaiyun.com/angry_program/article/details/108470123</link><guid>https://blog.youkuaiyun.com/angry_program/article/details/108470123</guid><author>angry_program</author><pubDate>Thu, 10 Sep 2020 15:15:57 +0800</pubDate><description><![CDATA[什么是HTTP请求夹带攻击？

HTTP请求夹带（HTTP request smuggling）是一种干扰网站处理从一个或多个用户接受的请求的一种攻击技术。通俗地理解就是：攻击者发送一个语句模糊的请求，就有可能被解析为两个不同的HTTP请求，第二请求就会“逃过”正常的安全设备的检测，使攻击者可以绕过安全控制，未经授权访问敏感数据并直接危害其他应用程序用户。





HTTP请求夹带原理

现金的Web应用通常会在用户和最终应用程序逻辑之间使用大量的HTTP服务器，用以优化分流控制网络流量用户发送多个请求.]]></description><category></category></item><item><title><![CDATA[访问控制/越权漏洞 -- 学习笔记]]></title><link>https://blog.youkuaiyun.com/angry_program/article/details/108133756</link><guid>https://blog.youkuaiyun.com/angry_program/article/details/108133756</guid><author>angry_program</author><pubDate>Sat, 22 Aug 2020 18:47:54 +0800</pubDate><description><![CDATA[访问控制概念

简单的来说就是应用程序首先会判断用户的身份（账号密码登录），随后确认后续请求是否由该用户发出（会话管理），然后判断是否允许用户执行“所请求的操作”或访问“所请求的资源（访问控制）”

1、从用户角度访问控制模型分为以下类型：

垂直访问控制：控制不同权限等级的用户访问应用程序不同的功能；如“管理员”可以修改/删除账号，而普通账号无法操作。
	水平访问控制：控制用户只能访问自己的资源，而不能访问其他用户相同类型的资源；如“银行程序用户只能从自己的账号进行付款，而不能查看其他用户的账户”。
	上]]></description><category></category></item><item><title><![CDATA[Mysql 字符串与0比较为Ture 延伸到SQL注入的有趣问题]]></title><link>https://blog.youkuaiyun.com/angry_program/article/details/108032253</link><guid>https://blog.youkuaiyun.com/angry_program/article/details/108032253</guid><author>angry_program</author><pubDate>Sun, 16 Aug 2020 11:21:33 +0800</pubDate><description><![CDATA[目录

初探

真相渐现

延伸到SQL注入

字符串列数据提取

判断列名是否存在

新型万能密码



初探

有一天突然发现Mysql中一个有趣的现象：



百思不得其解，想着是不是由于mysql的字符串转化数字的原因，于是试验了一下：



自动将字符串类型的"123"转为数字型的123，然后与1相加。

下面试验了数字与字符串掺杂的情况：



直接将首位的1给转化了，其余的字符串则忽略掉。

但若不是以字符串为开头则会失败，字符串"te1st2"、"test"转化数字失败则会返回0，与1相加.]]></description><category></category></item><item><title><![CDATA[目录穿越/遍历漏洞 -- 学习笔记]]></title><link>https://blog.youkuaiyun.com/angry_program/article/details/107855078</link><guid>https://blog.youkuaiyun.com/angry_program/article/details/107855078</guid><author>angry_program</author><pubDate>Fri, 07 Aug 2020 10:30:55 +0800</pubDate><description><![CDATA[目录

什么是目录遍历？

漏洞原理

实验

0x00 基础目录遍历

0x01 绝对路径

0x02 双写../绕过

0x03 URL编码绕过

0x04 绝对路径配合../

0x05 截断文件后缀

防御



什么是目录遍历？

目录遍历（目录穿越）是一个Web安全漏洞，攻击者可以利用该漏洞读取运行应用程序的服务器上的任意文件。 这可能包括应用程序代码和数据，后端系统的登录信息以及敏感的操作系统文件。

在某些情况下，攻击者可能能够在服务器上写入任意文件，（如，FFFTP是一款小型...]]></description><category></category></item><item><title><![CDATA[服务器模板注入 SSTI （Server-side template injection）]]></title><link>https://blog.youkuaiyun.com/angry_program/article/details/107727952</link><guid>https://blog.youkuaiyun.com/angry_program/article/details/107727952</guid><author>angry_program</author><pubDate>Wed, 05 Aug 2020 18:13:10 +0800</pubDate><description><![CDATA[一、服务器模板注入

服务器模板注入（Server-side template injection）是当攻击者能够用本地的模板语法去注入一个恶意的payload，然后再服务器端执行该模板的攻击手法。

模板引擎是通过将固定模板与多变数据结合起来生成html网页的一种技术，当用户直接输入数据到模板不作任何过滤的时，可能会发生服务端模板注入攻击。这使得攻击者可以注入任何模板指令来操控服务器模板引擎，从而使整个服务器被控制。

顾名思义，服务器模板注入和SQL注入大同小异，但SSTI是发生在服务器端的，更加危险。]]></description><category></category></item><item><title><![CDATA[127.0.0.1的备用IP]]></title><link>https://blog.youkuaiyun.com/angry_program/article/details/107170787</link><guid>https://blog.youkuaiyun.com/angry_program/article/details/107170787</guid><author>angry_program</author><pubDate>Mon, 06 Jul 2020 23:32:45 +0800</pubDate><description><![CDATA[众所周知，谈起127.0.0.1，我们就会想到 localhost。

但，它还有其他的备用IP：


2130706433





017700000001





127.1






ps:（用于绕过一些简单地SSRF过滤）
]]></description><category></category></item><item><title><![CDATA[绕过CSP之Dangling markup技术]]></title><link>https://blog.youkuaiyun.com/angry_program/article/details/106441323</link><guid>https://blog.youkuaiyun.com/angry_program/article/details/106441323</guid><author>angry_program</author><pubDate>Sat, 30 May 2020 16:48:39 +0800</pubDate><description><![CDATA[同源策略(Same Origin Policy)

同源策略是一种约定, 他是浏览器最核心也是最基本的安全功能。如果缺少了同源策略, 浏览器的正常功能可能会受到影响, 比如XSS、CSRF攻击等。


浏览器的同源策略, 限制了来自不同源的"document"或者脚本, 对当前的"document"读取或设置某些属性。.


这一策略极其重要, 设想一下, 如果没有同源策略, 可能 example1.com 的一段JavaScript脚本, 在example2.com未曾加载此脚本时, 也可以随意涂改ex.]]></description><category></category></item><item><title><![CDATA[关于自定义标签引起的XSS]]></title><link>https://blog.youkuaiyun.com/angry_program/article/details/106267437</link><guid>https://blog.youkuaiyun.com/angry_program/article/details/106267437</guid><author>angry_program</author><pubDate>Fri, 22 May 2020 14:31:58 +0800</pubDate><description><![CDATA[前言

在渗透测试XSS(跨站脚本攻击)漏洞的时候, 有一些网站为了防护XSS, 将所有可以禁止的tag、event都禁止了, 但这还不是绝对安全的, 如果网站会将自定义的标签写入网页的话, 还是可能引起XSS的, 也就是本文谈到的内容。

接下来以一个XSS靶场为例。



Fuzz

测试伊始, 当然是寻找waf允许的标签以及事件类型, 这里本人采用burpsuite的intruder来Fuzz, 看看是否存在某些tag或者event是可行的。

1. 设置一下需要Fuzz的参数, 注意需要在&lt;.]]></description><category></category></item><item><title><![CDATA[IPv6之三层路由]]></title><link>https://blog.youkuaiyun.com/angry_program/article/details/106061864</link><guid>https://blog.youkuaiyun.com/angry_program/article/details/106061864</guid><author>angry_program</author><pubDate>Tue, 12 May 2020 21:24:14 +0800</pubDate><description><![CDATA[前言

IPv6路由基础简单介绍分为三层: IPv6通信基础、IPv6之静态路由、IPv6之缺省路由。





一、IPv6通信基础

众所周知, 网络通信分为OSI七层和TCP/IP五层, 详见:浅谈OSI七层模型



二层通信&amp;三层通信

二层通信

1. 依靠MAC地址表进行转发

2. MAC地址表自动生成

3. 依靠MAC地址标记主机身份


三层通信

1. 依靠路由表进行路由寻址转发

2. 路由表形成方式: 直连、静态、动态

3. 依靠IP地址标记主机身份


那么...]]></description><category></category></item><item><title><![CDATA[浅谈IPv6地址]]></title><link>https://blog.youkuaiyun.com/angry_program/article/details/106030037</link><guid>https://blog.youkuaiyun.com/angry_program/article/details/106030037</guid><author>angry_program</author><pubDate>Sun, 10 May 2020 16:50:48 +0800</pubDate><description><![CDATA[前言

2019年11月25日，全球五大区域互联网注册管理机构之一的欧洲网络协调中心（RIPE NCC）宣布 IPv4 地址已全部用完，该机构在其声明中写道：我们从可用池中仅剩的地址里分配了最后的 /22 IPv4。

IPv4地址空间已经消耗殆尽, 能够一直使用还在与NAT技术的发明。

随着IPv4地址空间的消耗, 近乎无限地址空间的IPv6"闪亮登场"。







IPv4与IPv6区别

两者在本质上以及数量上的区别:

     版本
			      长度
		...]]></description><category></category></item><item><title><![CDATA[局域网内, A(不可上网)代理到B(可上网)上网]]></title><link>https://blog.youkuaiyun.com/angry_program/article/details/105857907</link><guid>https://blog.youkuaiyun.com/angry_program/article/details/105857907</guid><author>angry_program</author><pubDate>Thu, 30 Apr 2020 11:58:33 +0800</pubDate><description><![CDATA[前言

一般的大公司直接插网线的话, 是不能直接上网的, 都采用软件登录认证才能正常上网 (当然私自接路由器也不能的)。当然这个软件也是出于安全考虑, 但有时也会造成工作的不方便。

例如, 博主的机器是Linux系统, 而认证的软件是只有exe的格式, 也就是只支持Windows环境, 这时候有的童鞋就回不假思索地说: "用wine啊!" 当然也可行, 只不过这不是本文的主题。

本文的思路...]]></description><category></category></item><item><title><![CDATA[#!/usr/bin/env python与#!/usr/bin/python的区别]]></title><link>https://blog.youkuaiyun.com/angry_program/article/details/105615273</link><guid>https://blog.youkuaiyun.com/angry_program/article/details/105615273</guid><author>angry_program</author><pubDate>Sun, 19 Apr 2020 14:42:17 +0800</pubDate><description><![CDATA[脚本语言的第一行，目的就是指出，你想要你的这个文件中的代码用什么可执行程序去运行它，就这么简单

#!/usr/bin/python是告诉操作系统执行这个脚本的时候，调用/usr/bin下的python解释器；
#!/usr/bin/env python这种用法是为了防止操作系统用户没有将python装在默认的/usr/bin路径里。当系统看到这一行的时候，首先会到env设置里查找python的安...]]></description><category></category></item><item><title><![CDATA[upload-labs 文件上传靶场]]></title><link>https://blog.youkuaiyun.com/angry_program/article/details/105381900</link><guid>https://blog.youkuaiyun.com/angry_program/article/details/105381900</guid><author>angry_program</author><pubDate>Fri, 17 Apr 2020 21:58:03 +0800</pubDate><description><![CDATA[前言

upload-labs是一个使用php语言编写的，专门收集渗透测试和CTF中遇到的各种上传漏洞的靶场。旨在帮助大家对上传漏洞有一个全面的了解。目前一共21关，每一关都包含着不同上传方式。





Pass-1



直接上传php会被判断处于黑名单中



观察源码可知, 是前端js判断类型:





方法1

直接改前端代码:





上传成功之后并没有显示文件的路径, 那么好...]]></description><category></category></item><item><title><![CDATA[Python 阿拉伯数字转换为中文大写数字]]></title><link>https://blog.youkuaiyun.com/angry_program/article/details/105171545</link><guid>https://blog.youkuaiyun.com/angry_program/article/details/105171545</guid><author>angry_program</author><pubDate>Sat, 28 Mar 2020 23:50:09 +0800</pubDate><description><![CDATA[题目

python练习的一个小实验, 题目如下图:



附阿拉伯数字对应的中文大写：







思路

1. 通过定义一个字典进行阿拉伯数字与大写中文的对比储存
2. 将用户的输入首先分割为整数与小数部分分别进行处理
3. 整数部分可以分割为以 4 位数字为一组的列表来进行转换处理，这样便于进行
（兆，亿，万，圆）。的单位处理
4. 首先将分割的 4 位数字一组的数据进行转化处理，便...]]></description><category></category></item></channel></rss>