- 博客(10)
- 资源 (1)
- 收藏
- 关注
原创 不使用Pytorch, Tensorflow,Keras等高级软件包,实现BP神经网络-引用iris数据集
class Function: # 本次项目所用到的函数类,名称前面带d表示是该函数的导数self.x = x ##整形或列表sum = 0def dsoftmax(self): # x预测值,x_真实类别序号else:def cross_shang(self): # x预测值,x_实际值sum = 0sum = -sumreturn sumdef dcross_shang(self): # x预测值,x_实际值= 0:Function的类,它包含了一些函数,用于在本次项目中进行计算。
2023-10-19 19:38:02 129
原创 2021长安抗疫杯签到pwn
checksec: 发现32位,开了NX,没别的保护,使用ida打开: 发现打印出了一个gift,直接运行,竟然是buf的栈地址。 binsh地址也知道了, 首先填充栈,其中一开始是binsh的地址, 然后填充栈,最后覆盖ebp为栈地址 思路直接打开: from pwn import* p = process("./pwn1") #p = remote("113.201.14.253",16088) p.recvuntil("Gift:") leak = int(p.recv(10),16) p.sen
2022-01-20 15:23:00 229
原创 Glibc堆利用-Double Free
Glibc堆利用-Double Free 漏洞成因:使用完一个chunk之后,只是free掉了指针,没有将内容置null 漏洞结果:可以实现任意地址的写功能。 0x01 这里我们采用了师傅的样例程序,先检查该程序: 看到:保护全开,使用ida进行反编译分析: 发现经典菜单栏:并且实现了以下功能: void __fastcall main(__int64 a1, char **a2, char **a3) { int v3; // ebx int v4; // [rsp+Ch] [rbp-44h]
2021-10-24 17:50:00 318
原创 基于arpspoof的ARP欺骗实战实验
0X01 Attack 准备好两台虚拟机,分别为: 攻击方:kali 被攻击方:windowsXP 首先,查找kali攻击方的ip、网关、mac地址: 攻击方ip:192.168.209.129 攻击方网关:192.168.209.255 攻击方mac地址:00:0C:29:3C:3C:62 windows: 被攻击方ip:192.168.209.138 被攻击方网关:192.168.209.2 被攻击方mac地址:00:0C:29:6D:7D:59 被攻击方能够ping通www.baidu.com:
2021-10-23 21:46:40 2850 1
原创 Pwn-Glibc堆利用-FirstFit&UAF浅析
0x1 最近忙于堆的学习,在师傅们的指导下,对堆有了一知半解,找了一个网上的UAF题目来练手。 题目链接:https://www.bilibili.com/video/BV1iE411H7cZ (再次感谢大佬发布的教学视频) 先检查一下程序: 发现保护全开。64位,反编译之后发现: 在main函数中看到后门函数cat flag,但是条件是变量值为5。 运行一下: 大概意思是程序可以生成一个creature【堆】,里面包含姓名和等级两个参数数据,并且可以通过输入命令来改变这些变量: After you
2021-10-19 21:36:18 205
原创 浅谈rop-ret2libc原理以及解答-以攻防世界level3为例
栈溢出-rop-libc 0x01、got表和plt表与动态链接、绑定延迟(重点理解) GOT概述 1、当在程序中引用某个共享库中的符号时,编译链接阶段并不知道这个符号的具体位置,只有等到动态链接器将所需要的共享库加载进内存后,也就是在运行阶段,符号的地址才会最终确定。因此,需要有一个数据结构来保存符号的绝对地址,这就是GOT表的作用,GOT表中每项保存程序中引用其他符号的绝对地址。这样,程序就可以通过引用GOT表来获得某个符号的地址 2、在X86结构中,GOT表的前三项保留,用于保存特殊的数据结构地址,其
2021-08-05 14:32:28 551
原创 浅谈ROP-ret2libc原理-题目源于[ctfwiki]
rop:在栈缓冲区溢出的基础上,利用程序中已有的小片段 (gadgets) 来改变某些寄存器或者变量的值,从而控制程序的执行流程。–[ctfwiki] 传送门 之前提到的ret2syscall,提到了静态链接,而libc主要利用了动态链接。 0x01 知识点: 简单来说,静态链接就是直接在原有的基础之上进行访问,而动态链接就是直接放上一个链接来访问。 1.plt表和got表 拿一个c语言编写的printf函数为例,当调用printf函数时,先去plt表和got表寻找printf函数的真实地址。plt表指向
2020-12-18 00:13:20 649
原创 basic ROP-浅谈ret2syscall原理[ctf-wiki]
一道简单的ctf-wiki上的基本ROP题目。 原理:控制程序执行系统调用,获取 shell。 传送门 0x01 预备知识: 系统调用通过 int 80h 实现,应用程序调用系统调用的过程是: 1.把系统调用的编号存入 EAX; 2.把函数参数存入其它通用寄存器; 3.触发 0x80 号中断。 execve函数: 详见:execve函数 0x02 解题步骤: 首先检查: ida打开之后,没有system函数,只有binsh关键字,开启NX保护。 需要构造execve(“/bin/sh”, 0,0); 其
2020-12-17 00:48:06 274
原创 java求解最大子列和问题
最大子列和问题 们通过四种方法分别通过java语言解决最大子列和问题 问题来源:MOOC-浙江大学-数据结构-1.3应用实例(最大子列和问题) 传送门 //最大子列和问题 import java.util.*; public class Main{ public static void main(String [] args) { Scanner scan =new Scanner(System.in); int thissum,maxsum=0; int n=scan.nextInt();
2020-08-18 10:57:35 502 1
冰刃(icesword) V1.22 Final.rar
2021-10-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人