漏洞利用原理(初级)

本文详细介绍了多种类型的漏洞利用,包括格式化串漏洞的原理及防范,如printf函数中的缺陷;深入讲解了SQL注入攻击,如PHP和ASP环境下的实例,以及防御策略;探讨了其他注入方式,如Cookie注入和XPath注入;同时阐述了XSS攻击的不同形式和防护措施,并解析了路径回溯漏洞的基本原理和范式化过程。
摘要由CSDN通过智能技术生成

格式化串漏洞

格式化串漏洞产生于数据输出函数中对输出格式解析的缺陷。

printf中的缺陷

printf为例:

#include "stdio.h"
void main(){
   
	int a=44,b=77;
	printf("a=%d,b=%d\n",a,b);                 //正确的使用
	printf("a=%d,b=%d\n");                     //不正确的使用
}

程序正常运行:
在这里插入图片描述
我们通过OD来看下流程:
在这里插入图片描述
在这里插入图片描述

用printf读取内存数据

并且printf参数中的“格式控制符”是可以被外界输入影响的:

#include “stdio.h”
void main(int argc, char ** argv){
   
	printf(argv[1]);
}

在这里插入图片描述

用printf向内存写数据

在格式化控制符中,%n用于把当前输出的所有数据的长度写回一个变量:

#include <stdio.h>
void 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值