溢出漏洞扫描技术方法与实现(科普)

扫描溢出工具 立即下载
 结合新老两个漏洞例子——SQL Resolution 溢出漏洞和PNP溢出漏洞(MS05-039)分别进行实现。

一、 Windows下常用的溢出漏洞扫描方法
对于漏洞扫描,我们常用的方法有以下几种:
1.检测服务端口开放与否。这是最基本,也是准确率最低的一种方式。直接向目标机器的指定端口发送带有SYN标志的TCP数据包,以检测端口是否开放。如果端口开放,则认为漏洞存在,否则认为不存在漏洞。在无法通过其他方式进行扫描的时候可以采用这种方法,我在写CCProxy溢出的漏洞扫描代码的时候就是这样做的:

//连接目标机器808端口
SOCKET csock;
chock = socket(AF_INET,SOCK_STREAM,0);
sockaddr_in target;
Target.sin_family = AF_INET;
target.sin_addr.s_addr = dwDestIp;
target.sin_port = htons(808);
int ret = connect(csock, (sockaddr *)&target, sizeof(target));
if(ret == 0)
{
printf("CCProxy漏洞:/n 目标机无漏洞/n/n");
}

2.获取服务软件的Banner信息。我们通过客户端与服务软件进行连接的过程中,有时服务进程会返回相关的Banner信息,这些信息里面包含了服务软件的版本等内容。通过Banner信息来判断服务软件是否存在溢出漏洞是一种常用的方式,也有一定的准确率。因为很多软件升级之后以前的漏洞就不存在了,而升级之前的版本用户可能又疏于打漏洞补丁。Serv_U MDTM溢出漏洞的扫描技术的一个例子,Serv_U5.0.0.9及以下版本都有这样的漏洞,而更高的版本则不存在。该漏洞比较老了,其扫描代码我这里不在罗嗦,有兴趣的朋友可以和我联系。

3.直接爆破。将直接攻击作为扫描,如果攻击成功,则说明存在漏洞。假设你无路可走,不妨试试这一招。如果你只想作安全检测而不想破坏服务的话,最好不要采用这种方式,否则直接攻击可能导致目标服务死掉。大家可以想想,其实很多蠕虫不就是采用的这种方式吗?

4.根据安装补丁前后的响应报文的不同之处进行判断。这种方法最为安全、准确,实现难度也最大,要求分析者对漏洞自身的机制要很熟悉。很多存在漏洞的服务软件,在打补丁前后,我们发送应用层请求后,返回的报文内容是有细微的差别,而我们恰恰就是可以通过分析这一点点差别来进行判断溢出漏洞的存在。我在写DCOM RPC、SQL Resolution、LSA、PNP等多数漏洞的扫描都是这样实现的。大家可能要问了,这种方法的难点何在呢?其实难点就在于对特定服务的实现细节的理解和应用层通信协议(特别是SMB、RPC等协议)的分析。
这部分做的不好的话,是写不出有效的Client的。更多的时候我们很难清楚了解服务软件内部机制,特别是对于微软的一些服务软件。这种情况之下,我们可以拿到别人的未公布源代码的扫描工具,通过反汇编、跟踪分析网络数据包等方式逆向还原出工具的代码。大家还没有能力对系统底层进行深入分析的时候,更多的采用这种方式是明智的。只有知识一步步积累多了,我们才能做更加深入的分析。
好了,光是纸上谈兵是没用的,我们还是来看看两个实际的例子吧。

二、SQL 和PNP漏洞扫描代码实现
1.SQL Resolution溢出漏洞扫描代码的实现。SQL Server 2000 SP2及以前的版本中的 Resolution服务存在漏洞。如果向服务主机UDP 的1434端口发送以0x4开头的报文,则服务会返回当前运行的SQL SERVER实例。但如果发送的该报文长度过长,则发生堆栈溢出。此外,如果发送其他格式的报文,例如以0xa开头的请求,则服务进程会将该请求作为错误的请求报文处理。漏洞细节和利用我就不多说了,网上有现成的代码。这里我们来看看漏洞的扫描。通过拦截数据包并分析,我们发现在打补丁前后,向服务进程发送错误请求(0xa开头的)后,返回的报文内容是不一样的。如果仍然返回以0xa开头的报文,则证明是存在漏洞的,否则不存在漏洞。主要代码如下:
建立空连接:
//探测线程函数
UINT ListenThreadProc(LPVOID pPram)
{
Total_Param *tp;
tp = (Total_Param *)pPram;
SOCKADDR_IN Udpfrom;
int UdpfromLen = sizeof(Udpfrom);

//下面发送请求数据,以'/x0a'开头
tp->bufSend[0] = '/x0a';
int iError;
if(sendto(tp->sock, tp->bufSend, sizeof(tp->bufSend), 0, (sockaddr*) &tp->addr_in, sizeof(tp->addr_in))==SOCKET_ERROR)
{
iError = WSAGetLastError();
return 1;
}

//接收返回报文
while(true)
{
memset(tp->bufRecv, 0, sizeof(tp->bufRecv));
int n = recvfrom(tp->sock, tp->bufRecv, sizeof(tp->bufRecv), 0, (sockaddr *)&Udpfrom, &UdpfromLen);
if(n > 0 && tp->bufRecv[0] == '/x0a')
{
//printf("%s/n", tp->bufRecv);
tp->IsVulnerable = true;
break;
}
}
return 0;
}
这个漏洞的扫描代码实现起来很简单,大家可以直接提取上面的代码。
下面再看一个复杂一点的漏洞——Windows 2000的PNP溢出漏洞(MS05--039)。Windows 2000及以上版本的PNP(Plug and Play)服务是通过IPC$命名管道+RPC接口的形式向外提供服务的,也就是说,我们要访问远程机器上的PNP服务,首先要通过TCP 139或445端口与目标机器建立IPC空连接,进而获取PNP服务进程中创建的命名管道“Browser”的客户端句柄。获取了管道句柄后,再通过该命名管道与PNP服务进程中的RPC接口进行通信,完成对服务的访问。在对PNP漏洞进行攻击的时候,我们是采用这样一个通信流程,在漏洞扫描的时候我们也可以按照这样一个步骤。由于我对SMB和RPC协议暂时还没有完全分析清楚,所以填充的应用层数据包也是直接从网络数据包中截获而来,而这些数据包呢,正是在分析MACFEE公布的扫描工具时候得到的。通过分析,发现打补丁前后返回数据报内容刚好存在一个字节的差别,呵呵,还原漏洞扫描代码就易如反掌了。下面给出部分代码:
建立空连接:
SOCKET ClientSock;
sockaddr_in ClientAddr;
int len;
unsigned char szRecv[0x1000] = {0};
ClientSock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);

ClientAddr.sin_family = AF_INET;
ClientAddr.sin_port = htons(445);
ClientAddr.sin_addr.S_un.S_addr = inet_addr(argv[1]);
printf("[*] Connecting to 445 ... ");

//先连接445端口,如果不成功,则连接139
if(connect(ClientSock, (const sockaddr *)&ClientAddr, sizeof(ClientAddr)) < 0)
{
printf("Cann't connecting to 445 ... ");
printf("[*] Connecting to 445 ... ");
ClientAddr.sin_port = htons(139);
if(connect(ClientSock, (const sockaddr *)&ClientAddr, sizeof(ClientAddr)) < 0)
{
printf("Cann't create NULL session!/n");
return -1;
}
//发送72字节的reqNBSS
if(send(ClientSock, (const char *)reqNBSS, sizeof(reqNBSS) - 1, 0) < 0)
{
printf("[-] Send reqNBSS failed/n");
closesocket(ClientSock);
return -1;
}
len = recv(ClientSock, (char *)szRecv, sizeof(szRecv) - 1, 0);
if(len < 0)
{
printf("2/n");
closesocket(ClientSock);
return -1;
}
}

//发送SMB_Negotiate
if (send(ClientSock, (const char *)SMB_Negotiate, sizeof(SMB_Negotiate) - 1, 0) < 0)
{
printf("/n[-] send SMB_Negotiate failed/n");
return -1;
}
len = recv(ClientSock, (char *)szRecv, sizeof(szRecv) - 1, 0);
if ((len <= 10) || (szRecv[9] != 0))
{
printf("3/n");
return -1;
}
//发送SMB_SessionSetupAndX
if(send(ClientSock, (const char *)SMB_SessionSetupAndX, sizeof(SMB_SessionSetupAndX)-1, 0) < 0)
{
printf("/n[-] send SMB_SessionSetupAndX failed/n");
return -1;
}
len = recv(ClientSock, (char *)szRecv, 4096, 0);
if (len <= 10 || (szRecv[9] != 0))
{
printf("4/n");
exit(0);
}
//发送SMB_TreeConnectAndX
if(send(ClientSock, (const char *)SMB_TreeConnectAndX, sizeof(SMB_TreeConnectAndX), 0) < 0)
{
printf("/n[-] send failed/n");
return -1;
}
len = recv(ClientSock, (char *)szRecv, 4096, 0);
if ((len <= 10) || (szRecv[9] != 0))
{
printf("6/n");
return -1;
}
这里,我将建立IPC空连接的过程按照SMB协议分别写出,而没有直接用WNetAddConnection2函数的原因有两个:1是WNetAddConnection2函数只连接445端口,如果连接失败不再尝试连接139端口。2是我发现用WNetAddConnection2建立空连接后,代码在访问命名管道的时候会出错。

获取管道客户端句柄:
char szPipe[MAX_PATH];
HANDLE hFile;
//打开命名管道“//server/pipe/browser”客户端句柄
_snprintf(szPipe, sizeof(szPipe), "////%s//pipe//browser", argv[1]);
hFile = CreateFile(szPipe, GENERIC_READ|GENERIC_WRITE, 0, NULL,
OPEN_EXISTING, 0, NULL);
if(hFile == (HANDLE)(-1))
{
printf("cann't find named pipe/n");
return -1;
}

接下来就是访问RPC接口了,RPC接口是需要先Bind后发送请求的。
//BIND rpc接口
if(!BindRpcInterface(hFile, "8d9f4e40-a03d-11ce-8f69-08003e30051b", "1.0"))
{
printf("can't get namedpipe! %d/n", GetLastError());
return -1;
}
BindRpcInterface函数实现为:
BOOL BindRpcInterface(HANDLE PH, char *Interface, char *InterfaceVer)
{
BYTE rbuf[0x1000];
DWORD dw;
struct RPCBIND RPCBind;
BOOL bRet;
memcpy(&RPCBind, &PRPC, sizeof(RPCBind));
UuidFromString((unsigned char *)Interface, &RPCBind.InterfaceUUID);
UuidToString(&RPCBind.InterfaceUUID, (unsigned char **)&Interface);
RPCBind.InterfaceVerMaj = atoi(&InterfaceVer[0]);
RPCBind.InterfaceVerMin = atoi(&InterfaceVer[2]);
bRet = TransactNamedPipe(PH, &RPCBind, sizeof(RPCBind), rbuf, sizeof(rbuf), &dw, NULL);
return bRet;
}

最后进行漏洞判断:
//发送请求RPC request包
BOOL ret = ScanPNP(hFile);

ScanPNP实现细节:
BYTE rbuf[0x100] = {0};
DWORD dw;
if(!TransactNamedPipe(PipeHandle, szScan, sizeof(szScan), rbuf, sizeof(rbuf), &dw, NULL))
{
printf("Cann't get scan data!/n");
return FALSE;
}

if(dw != 0x48)
{
return FALSE;
}
if(rbuf[0x44] != 0x0b) //大家看看,就这一个自己的差别
{
return FALSE;
}
return TRUE;

代码中用到的SMB和RPC协议数据,以及完整的扫描代码我会和文章附在一起,大家可以看看。

ms05039.rar MS05-039 Scan v1.0,这是一款基于Windows 下快速检测和分析的安全扫描工具,可以正确识别那些容易遭受MS05-039 安全公告下溢出的Microsoft 操作系统。<br><br>相关漏洞链接:http://www.microsoft.com/china/technet/security/bulletin/MS05-039.mspx<br><br>------------------------------------------------------------------------------<br>MS05-039 Scan 1.0<br>Copyright 2005 (c) by McAfee, Inc.<br>http://www.foundstone.com<br>------------------------------------------------------------------------------<br>?MS05-039 Scan v1.0<br><br>Microsoft UPnP MS05-039 Vulnerability Detection Utility<br>Copyright 2005?by Foundstone, Inc.<br>http://www.foundstone.com<br><br>MS05-039 Scan 1.0 is a Windows based detection and analysis utility that can <br>quickly and accurately identify Microsoft operating systems that are <br>vulnerable to the multiple buffer overflow vulnerabilities released in the <br>MS05-039 bulletin. <br><br>MS05-039 Scan is intended for use by enterprise system and network administrators<br>as a fast and reliable utility for identifying at risk Microsoft systems in a <br>passive manner. This tool is non-abrasive in nature and may be run in production<br>environments during production hours. <br><br>Limitations of the tool:<br>The scanner is limited to 10 outgoing connections on WIndows XP SP2. This scanning limitation is caused by SP2. All other platforms will have 64 concurrent scanning threads running.<br><br>If you have anti-virus running it *may* detect this tool as an exploit. This tool *does NOT* exploit the vulnerabilty it simply determines if the machine is vulnerable or not.<br><br>Vulnerability Information:<br>There is a remotely exploitable vulnerability in the Plug and Play (PnP) RPC interface in Microsoft Windows.<br><br>Using a null session, an attacker could make an RPC request to the PnP interface on a Microsoft Windows system that could potentially execute arbitrary code.<br><br>This Foundstone check detects the absence of the patch by attempting to trigger the vulnerability in a nonintrusive manner over RPC.<br><br>Affected systems:<br><br>Microsoft Windows Server 2003 (All Versions)<br>Microsoft Windows XP (All Versions)<br>Microsoft Windows 2000 (All Versions)<br><br>For more information see:<br><br>http://www.microsoft.com/technet/security/bulletin/MS05-039.mspx<br><br>==============================================================================<br><br><br>FOUNDSTONE, INC.<br><br>Terms of Use<br><br>1. Acceptance of Terms<br><br>1.1.<br>Read these Foundstone, Inc. ("Foundstone") Terms of Use ("Terms") carefully<br>before you ("You") accept these Terms by: (a) selecting the "Accept" button at<br>the end of the Terms, or (b) downloading any of the Foundstone tools ("Tools")<br>located on this web site. If You do not agree to all of these Terms, select<br>the "Decline" button at the end of the Terms, or do not download any of the<br>Tools.<br><br>1.2.<br>The Terms are entered into by and between Foundstone and You. Foundstone<br>provides the Tools to You strictly subject to the Terms.<br><br>2. Permitted Use<br><br>2.1.<br>The Tools are freeware that You may download them for Your personal,<br>non-commercial use only.<br><br>2.2.<br>You may not modify, reverse engineer, make derivative works of, distribute,<br>transmit or sell any of the Tools without the express written consent of<br>Foundstone. <br><br>2.3.<br>The Tools may not be used by You or any other party for any purpose that<br>violates any local, state, federal or foreign law. You understand that<br>breaking into any network or computer system not owned by You may be illegal.<br><br>3. No Express or Implied Warranty<br><br>3.1.<br>THE TOOLS ARE PROVIDED TO YOU "AS IS." FOUNDSTONE MAKES NO WARRANTIES OR<br>REPRESENTATIONS, EXPRESS OR IMPLIED, ABOUT THE EFFECTIVENESS, COMPLETENESS OR<br>FITNESS OF THE TOOLS, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF<br>MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.<br><br>4. Limitation of Liability<br><br>4.1.<br>YOU AGREE THAT FOUNDSTONE WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT,<br>INCIDENTAL, CONSEQUENTIAL OR PUNITIVE DAMAGES ARISING OUT OF YOUR USE OF, OR<br>INABILITY TO USE, THE TOOLS, INCLUDING WITHOUT LIMITATION ANY DAMAGE TO, OR<br>VIRUSES OR "TROJAN HORSES" THAT MAY INFECT OR INVADE, YOUR COMPUTER EQUIPMENT<br>OR OTHER PROPERTY, EVEN IF FOUNDSTONE IS EXPRESSLY ADVISED OF THE POSSIBILITY<br>OF SUCH DAMAGE.<br><br>4.2.<br>YOU AGREE TO HOLD FOUNDSTONE HARMLESS FROM, AND YOU COVENANT NOT TO SUE<br>FOUNDSTONE FOR, ANY CLAIMS BASED OR YOUR USE OF, OR YOUR INABILITY TO USE, THE<br>TOOLS.<br><br>5. Indemnification<br><br>5.1.<br>You agree to indemnify and hold Foundstone and its subsidiaries, affiliates,<br>officers, agents, and employees harmless from any claim or demand, including<br>attorney's fees, made by any third party due to or arising out of Your use of<br>the Tools, breach of the Terms, or violation of the rights of another.<br><br>6. Intellectual Property Rights<br><br>6.1.<br>The Tools and all names, marks, brands, logos, designs, trade dress and other<br>designations Foundstone uses in connection with the Tools are proprietary to<br>Foundstone and are protected by applicable intellectual property laws,<br>including, but not limited to copyrights and trademarks. Accordingly, You may<br>not modify, reverse engineer, make derivative works of, distribute, transmit<br>or sell any of the Tools, nor may You remove or alter any of Foundstone's<br>trademarks from the Tools or co-brand any of the Tools, without the express<br>written consent of Foundstone.<br><br>7. Miscellaneous<br><br>7.1.<br>California law and controlling United States federal law govern any action<br>related to the Terms. No choice of law rules of any jurisdiction apply. You<br>and Foundstone agree to submit to the personal and exclusive jurisdiction of<br>the California state court located in Santa Ana, California and the United<br>States District Court for the Central District of California.<br><br>7.2.<br>The Terms constitute the entire agreement between You and Foundstone and<br>govern Your use of the Tools, superseding any prior agreements between You and<br>Foundstone (including, but not limited to, prior versions of the Terms).<br><br>7.3.<br>Foundstone controls and operates this website from various locations in the<br>United States of America and makes no representation that these Tools are<br>appropriate or available for use in other locations. If you use this website<br>from locations outside the United States of America, You are responsible for<br>compliance with applicable local laws, including, but not limited to, the<br>export and import regulations of other countries.<br><br>7.4.<br>These Terms and this website could include inaccuracies or typographical<br>errors. Foundstone may make improvements and/or changes to the Terms or the<br>website at any time without notice.<br><br>7.5.<br>The failure of Foundstone to enforce or exercise any right or provision of the<br>Terms does not constitute a waiver of such right or provision.<br><br>7.6.<br>In the event any provision of this Agreement is held to be unenforceable in<br>any respect, such unenforceability shall not affect any other provision of<br>this Agreement, provided that the expected economic benefits of this Agreement<br>are not denied to either party.<br> 立即下载

相关推荐

STM32开发实战--解决STM32CubeMX生成代码时钟初始化卡死问题

本文详细分析了STM32CubeMX生成代码在时钟初始化阶段卡死的问题,提供了多种解决方案,包括简单修改和稳健的等待机制。通过深入探讨HAL库的时钟初始化陷阱及硬件层面的根本原因,帮助开发者快速定位并解决STM32开发中的常见问题。

weixin_26965807的博客 442

溢出漏洞扫描技术方法与实现

 写了多篇溢出技术方面的文章,内容更多的是涉及漏洞调试、分析利用以及纯粹的ShellCode编写技巧。其实如果要掌握好一个溢出漏洞,漏洞的扫描技术 也是同样重要的。本文我将和大家一起来简单讨论一下常见的溢出漏洞扫描技术,并结合新老两个漏洞例子——SQL Resolution 溢出漏洞和PNP溢出漏洞(MS05-039)分别进行实现。 一、 Windows下常用的溢出漏洞扫描方法对于漏洞扫描

H2SO2的专栏 1200

地震勘探原理---地震预处理

3.1 为什么说要对数据进行振幅补偿?具体来说,地震波在传播过程中会遇到各种各样的地质条件,例如不同的岩层、土壤、水层等,这些介质的密度、速度等特性不同,因而对地震波的能量消耗也有所不同。在传播距离较远的情况下,能量损失可能会导致接收到的地震信号振幅变小。相反,在传播距离较近的情况下,能量损失可能较小,导致接收到的地震信号振幅变大。如果不对数据进行振幅补偿,这种振幅不均衡会导致地震数据分析和解释的误差和不确定性增加,可能产生错误的结论。

DARRENANJIAN的博客 3275

检测内核的堆栈溢出

转载自:http://www.alivepea.me/kernel/kernel-overflow/ 内核堆栈溢出通常有两种情况。一种是函数调用栈超出了内核栈THREAD_SIZE的大小,这是栈底越界,另一种是栈上缓冲越界访问,这是栈顶越界。 检测栈底越界 以arm平台为例,内核栈THREAD_SIZE为8K,当调用栈层次过多或某调用栈上分配过大的空间,就会导致它越界。越界后stru

云行雨施 品物流形 2753

机械设计师必看:如何用Autodesk Inventor高效完成钣金设计(附实战案例)

本文为机械设计师详细解析了如何利用Autodesk Inventor Professional高效完成钣金设计。文章通过一个钣金防护罩的实战案例,系统介绍了从核心设计逻辑、建模流程、参数化技巧到工程图输出的完整工作流,旨在帮助设计师掌握智能化的设计方法,显著提升从概念到制造的设计效率与准确性。

honey的博客 1184

c764-基于Vue的实时温湿度监控系统

🌟 毕业设计指导交流 🌟 同学们好!作为一名计算机专业的技术爱好者,我在毕业设计领域积累了一些经验,希望能和大家分享交流。从选题到答辩,欢迎一起探讨技术问题。💡 技术方向: 熟悉Java全栈(SSM/Spring Boot)、Python数据分析、微信小程序/安卓开发等技术栈,可以互相学习项目开发经验。📂 学习资源: 整理了一些开源项目案例(含代码和文档),需要参考的同学可以留言讨论,也欢迎分享你的项目经验。🛠 交流内容:✨ 欢迎在评论区留言讨论,一起进步!记得遵守社区规范,保持学术

weixin_39513710的博客 1072

栈溢出漏洞

堆栈溢出主要步骤: 1找到有溢出的位置 2找到跳板的位置,如jmp esp或ret 3把跳板的位置写到覆盖的返回值上,这样的话就会执行跳转指令 此时刚好eip等于你写的shellcode 概念 栈溢出:一些不安全的函数,在接受缓冲区时,在不检查的情况下,所以可以利用这点溢出到栈返回地址的地方,执行自己的代码。 fscanf:%s导致溢出 strcpy:数组定义太小也会溢出 跳板:jmp esp借...

qq_35426012的博客 1389

PX4无人机实战:手把手教你用MAVROS实现Offboard模式(附避坑指南)

本文提供了一份详尽的PX4无人机Offboard模式实战指南,重点解析了如何通过MAVROS实现从仿真到实机的控制。内容涵盖硬件连接、串口权限设置、MAVROS配置、核心代码编写以及实机操作全流程,并附有详细的避坑指南和故障排查手册,帮助开发者快速掌握ROS与PX4飞控的集成开发。

weixin_29172201的博客 269

漏洞挖掘方法之静态扫描+经典栈溢出实例

标 题: 漏洞挖掘方法之静态扫描+经典栈溢出实例 时 间: 2014-02-11,01:52:50 这是笔者公开发表的关于漏洞挖掘的第二篇文章,与发第一篇的时间差不多间隔了整整一年,在这一年里虽然工作细碎,但我还是抽出了大量的时间关注安全,因为当初的既定目标就是走安全的路。这一年了也做了不少关于安全方面的事情,比如参加各大*SRC的漏洞提交什么的,曾今有一段时间也是走火入魔了一样,但是后来

Less Is More 9973

一种白平衡增益计算中白点权重计算简易实现方式

一种白平衡白点距离权重简易实现方式

大熊 384

第五节_PySide6基本窗口控件_主窗口和标签

本文介绍了PySide6中主窗口和标签控件的使用。主要内容包括: 窗口控件分类: QWidget是基础窗口部件,可作为独立窗口或子部件 QMainWindow提供标准应用程序框架,包含菜单栏、工具栏等 QDialog用于对话框,支持模态交互 主窗口创建: 演示了如何创建QMainWindow子类 实现了窗口居中、设置图标、状态栏等功能 提供了窗口几何信息的获取方法 QLabel标签控件: 继承自QFrame类 用于显示文本或图像 文章通过代码示例详细说明了主窗口的创建和使用方法,包括位置控制、图标设置等常见

su桥木的博客 1024

使用asan检测内存泄漏、堆栈溢出等问题

c++内存问题调试

wonengguwozai的博客 5128

WOFOST作物模型(3):敏感性分析

使用TAGP(Total Above Ground Production),地上总产量TSUM1,temperature sum from emergence to anthesis,萌发至开花所需温度TSUM2,temperature sum from anthesis to maturity,开花至成熟所需温度SPAN,life span of leaves growing at 35 Celsius,生长温度为35度时的叶龄。

所有专家都曾始于新手 1146

风炫安全WEB安全学习第四十八节课 信息收集之WEB安全漏洞扫描

信息收集之Web漏洞扫描 Web漏洞扫描器实在是太多了。Web安全扫描器可能是网络安全入门第一节课,这节课的内容其实大家比我都懂。我这里还是抛砖引玉一下,那么本节课就算是一个科普文,介绍几款常用的Web安全扫描器,至于一些细分领域的扫描器,大家可以借鉴github上一个扫描器集合 https://github.com/hannoch/scaner 主流综合Web安全扫描器 AWVS 推荐指数:???????????????????? 官方网站:https://www.acunetix.com/ 详细使用文档

风炫的博客 374

OV9734 DATASHEET,完整规格书

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

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

新手入坑 SRC 前必看科普:什么是漏洞挖掘?全覆盖漏洞类型、练习平台、涨技术涨收益提升技巧

网络安全漏洞挖掘的全称为安全漏洞探测,简称漏洞挖掘,别称有白帽测试、渗透测试等。网络安全漏洞挖掘是一种主动查找系统、应用或网络弱点的过程,目的是在恶意攻击者之前发现和修复漏洞,保障数据安全。安全团队通过漏洞挖掘技术,对目标进行系统性扫描和分析,识别出如注入攻击、缓冲区溢出等隐患,并提供修补方案。如果形象地理解,漏洞挖掘就如同一个数字侦探,它的核心任务是通过模拟黑客行为,发现潜在的安全风险。

wangluo12138的博客 195

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

新手科普】web入侵思路,仿佛看到了另一个世界

开始找工作了,先总结一点渗透的手段,面试的时候可能用的着,我始终坚信机会是留给有准备的人的,多一份努力,就多一份机遇。稍微写一点渗透的小思路、小技巧,主要讲的是思路,所有不会太详细。注意经常逛一些好的博客或者门户站,坚持下来,每天学一点思路,你会积累到很多东西,记住:技术需要时间沉淀。一、查找注入,注意数据库用户权限和站库是否同服。二、查找XSS,最近盲打很流行,不管怎样我们的目的是进入后台。

Karka_的博客 840

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

科普文:Linux服务器巡检小结

权限管理系统能够按照统一的策略实现层次化的信息资源结构和关系的描述和管理,提供统一的、基于角色和用户组的授权管理,对授权管理和访问控制决策策略进行统一的描述、 管理和实施, 提供基于属性证书和 LDAP 的策略和授权信息发布功能,构建高效的决策信息库和决策信息库的更新、同步机制,面向各类应用系统提供统一的访问控制决策计算和决策服务。即根据容灾备份系统的需求,明确哪些业务状态数据需要备份,事实上,需要提供最完善备份的是稳定的业务状态数据, 而处理流程当中的中间临时数据的备份需求较低。

为无为,事无事,味无味。 1946

AI 入局技术圈,所有工程师的工作效率都被改写了

放在五年前,绝大多数技术人的工作日常还充斥着重复、繁琐的基础劳作。开发工程师需要逐行手写业务代码、通宵排查偶发BUG;网络工程师依托人工巡检链路设备,熬夜处理网络波动故障;运维工程师坚守7×24小时值守机制,紧盯服务器集群状态,随时处置突发宕机、资源溢出问题;数据、测试、安全岗位,也始终陷在重复性流程化工作中,大量时间被无效消耗,真正的架构优化、业务创新工作难以推进。但随着大模型、AIOps、开源AI算法体系全面落地,AI早已不是实验室的前沿概念,彻底扎根技术一线。

牛肉胡辣汤 208

当AI学会自己撬锁:TRACE攻防框架详解——从越狱到渗透测试的全面科普

一篇题为 TRACE: Task-Aware Adaptive Self-Evolving Agentic Jailbreaking 的论文,把这个领域向前推了一大步。作者们展示了一个可以自动演化的攻击框架,它不仅能诱导AI说话,还能操控AI智能体(Agent)执行一连串真实的有害操作——例如自动扫描内网、窃取敏感文件、发送钓鱼邮件。在部分最先进的模型上,TRACE的完全绕过率达到了100%。

大摆王的博客 419

硬核科普!带你搞懂 HW 行动,国家级网安攻防演练究竟是什么

网络安全领域,“HW 行动” (网络安全实战攻防演练)作为国家层面组织的网络安全攻防演练,是我国提升关键信息基础设施安全防护能力的核心举措,其体系化的运作模式和实战化的演练机制具有重要意义。HW 行动的具体时间通常不对外公开,且不同年份、不同范围的行动时间存在差异(例如全国性与区域性行动时间可能不同)。若想参与,需要提前通过官方渠道(如中央网信办、公安部及相关协会的公告)关注招募信息、报名时间、行动周期等关键节点,避免因信息滞后错过参与机会。

2301_77472496的博客 604

别瞎学 CTF!2026 零基础入门科普,赛制题型核心逻辑全解析

大量新手入门 CTF 盲目乱学、抓不住重点。本文结合 2026 最新竞赛环境,科普赛制规则、计分方式、全部题型特点与通用解题核心逻辑,划分学习优先级,明确入门主攻方向,拒绝碎片化学习,新手直接少走 90% 弯路。

Button12138的博客 169

小梅科普:白帽子-高端信息安全培训

-----------------------------------------------我是分割线----------------------------------------------------------------感兴趣的拉到末尾1.前言和基础串烧培训课程体系的简介业界对专业安全从业者的要求定位网络基础知识以及从事信息安全对网络技能...

weixin_33766168的博客 367

2017-2018-2 20179207 《网络攻防技术》黑客与工具

一、黑客信息 龚广 科普一个呆萌的黑客,被称为移动安全领域的“赏金猎人”,今年1月22日,谷歌官方发文向他致谢,并颁发了总额为112500美金的奖金,这是安卓漏洞奖励计划史上最高金额的奖金。恩,人家提交了两个漏洞,就拿了70多万RMB。这人专门跟谷歌找茬,经常找找系统漏洞,破破手机什么的,反正看上去轻轻松松就拿到各种奖金了。哦,还有一点不得不提,谷歌对于安卓漏洞奖励计划的奖金本来没有很高,一次偶然...

weixin_30922589的博客 848

新手必藏!2026 CTF 零基础入门科普,赛制、题型、解题逻辑全解析

针对完全零基础小白整理 CTF 入门科普内容,详解 2026 年各类竞赛赛制、分值规则、全板块题型考点,梳理各方向核心思维与入门重点,告诉你优先学什么、放弃什么,精准高效入门,少走 90% 弯路。

shandongjiushen的博客 128

DeepSeek-R1与V3技术解析:国产大模型工程化落地实践

大语言模型(LLM)作为人工智能基础设施的核心组件,其真正价值取决于能否稳定、低成本、低门槛地投入实际应用。从原理上看,模型推理效率受KV Cache管理、注意力机制设计、量化部署策略等底层工程深度影响;技术价值体现在将高参数模型压缩为可运行于昇腾910B等国产算力平台的轻量服务,显著降低企业AI使用门槛;典型应用场景覆盖金融风控规则生成、长文本摘要、代码辅助及合规内容审核等需逻辑严谨性或泛化平衡的任务。DeepSeek-R1与V3正是这一演进路径的关键代表——前者聚焦符号化推理与确定性解码,后者依托动态专

dfdfadsf3443的博客 483

MS17_010(永恒之蓝)漏洞复现

MS17_010永恒之蓝漏洞复现 目录 前言 1.准备工作 2.漏洞利用步骤 前言 永恒之蓝是指2017年4月14日晚,黑客团体Shadow Brokers(影子经纪人)公布一大批网络攻击工具,其中包含“永恒之蓝”工具,“永恒之蓝”利用Windows系统的SMB漏洞可以获取系统最高权限。5月12日,不法分子通过改造“永恒之蓝”制作了wannacry勒索病毒,英国、俄罗斯、整个欧洲以及中国国内多个高校校内网、大型企业内网和政府机构专网中招,被勒索支付高额赎金才能解密恢复文件。 1.准备工

qq_29959945的博客 1862
上一篇: sql server 2005注入技巧集
下一篇: 如何分析与利用WORD溢出漏洞(科普)
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值