自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 buuctf [强网杯 2019]随便注

1和1a的查询效果一致,判断是字符型注入,sql语句中对查询的id应该是用单引号’包起来的。所以接下来我们应该如何查1919810931114514表的flag属性呢?那么联合查询,报错注入,布尔,时间盲注都无法使用了,我们还剩下堆叠注入。3. 我们可以得知原sql语句,应该是查words表的id和data。输入select,回显发现有关键字绕过!改完后,再查,即可获得flag。2-1查询不同,可知非数字型。(words用`号包裹)只查到了一个表flag。

2022-09-18 18:02:35 149 1

原创 [极客大挑战 2019]PHP 1——php反序列化

保存,然后获得序列化后的字符串:O:4:“Name”:2:{s:14:“Nameusername”;发现一段php文件,包含class.php文件,用get的方式传入一个select参数,并将结果反序列化(unserialize)我们将用这串序列化的字符串替换select,但问题是,当执行反序列(unserialize)时,会首先执行。在反序列化时,当前属性个数大于实际属性个数时,就会跳过__wakeup(),去执行__destruct。于是,我们直接回到网页,然后拼接www.zip于是我们就下载了源码,

2022-09-12 16:05:58 440

原创 二叉排序树的查找、插入、删除

二叉树的一些操作二.二叉排序树1.查找分析:比如要查找6,root先指向根节点8,因为(6<8),所以root指向8的左边子节点 3又(6>3),所以root指向3的右子节点 6查找完成。代码如下:点击查看代码/** * 二叉排序树的查找操作 * @param root 根节点 * @param data 待查找的元素 * @return */ public Boolean search(Node_cp root

2021-11-18 17:39:21 386

原创 开坑SCIP,希望该专栏不会只有这一篇文章

前言:我选计算计科学与技术专业本来就不是因为去做码农的。SCIP符合我的理想主义,hh知乎上看见它被吹上天了,上学期就收藏了它的视频(结果就看了一会会呜呜~( ̄▽ ̄~)~)。开这个专栏也是为了激励自己,不再三分钟热度,希望能坚持下来,尽管它看似无用,却是我真正想要的东西吧。接下来将持续更新本课程的相关资料链接…(记于11.18)...

2021-11-18 13:45:07 264 2

原创 整数二分的本质和应用

一.整数二分的本质:给定一个区间,并在上面定义了一个性质,使得区间一段满足(红色区间),另一段不满足(区间)如图:而二分即找到中间两个边界点。二. 题目实例已运行通过:#include<iostream>using namespace std;const int N = 100010;int q[N];int m,n,mid;int main(){ scanf("%d%d",&n,&m); for(int i = 0;i <

2021-11-11 19:34:58 284

原创 [RoarCTF 2019]Easy Calc 1

目录知识点解题步骤知识点WAFPHP的字符串解析特性Bypasshttp走私几个重要函数解题步骤打开源码,发现有WAF 和 一个新页面:(这里是需要输入num的意思?)进入该页面:(意思大概要输入num的一个值,并且对num过滤了一堆东西)看其他大佬说,这里的突破点是:num只能传数字和运算符号,不能输字母(怎么看出来呢-----来自小菜鸡的疑惑?)找到flagg文件目录进入该目录,得到flagg...

2021-11-02 10:26:13 108

原创 【N1BOOK】[第一章 web入门],sql注入1wp

先判断为字符型注入?id = 2-1 无显示?id=1a 返回正常在mysql中,等号两边如果类型不一致,则会发生强制转换。当字符型和数字型数据比较,字符型将被强制性转换为数字字符串“1a” 被强制性转换为1。id后面输入1到3,返回正常,直到输入4,无回显,推测有三列1’ order by 1,2,3%23发现#被过滤,采用url对应编码%23或者用–+,也可以用作注释继续查注入点id=a’ union select 1,2,3%27i.

2021-10-27 11:08:44 197

原创 逆向之汇编(EBP寻址)

1.寄存器传参和堆栈传参(1)寄存器(2)堆栈传参ESP寻址2.ESP寻址的缺点(前提:用堆栈传参)在堆栈中存些值,ESP(栈顶指针)就会发生变化,于是下面的esp寻址就要更新。举例:当函数中,要用到寄存器来存储参数,如下图,蓝色圈圈里面的数值将很麻烦...

2021-06-20 21:46:17 796

原创 逆向之汇编(堆栈平衡&&函数)

一 . 基本概念函数是什么:一些指令的集合。如何调用函数:用 call指令为什么:(对比jmp指令)参数:返回值:二. 用堆栈的方式传递参数如果有10个参数怎么办?——没有那么多寄存器。向堆栈push1~5个数接着call指令在(call指令对应的)特定地址依次:ADD EAX,DWORD PTR DS:[ESP+4]ADD EAX,DWORD PTR DS:[ESP+8]…(共5个)RET(返回栈顶所知内存,即call指令下面的内

2021-06-20 18:01:17 361

原创 逆向之汇编(4.3),修改EIP的汇编指令

写在前面:学习汇编时,不要去死记指令,而要领会它的本质,并且可以用不同的方式重现EIP:标准寄存器(非通用),用来放cpu下一步执行的操作(一般是内存编号?)1.JMP指令JMP 寄存器/内存/立即数等价于MOV EIP,寄存器/内存/立即数...

2021-06-12 01:01:25 517

原创 逆向之汇编(4.2),堆栈相关的汇编指令

堆栈:一块内存,操作系统在程序启动时就已经申请好了,供程序执行时使用(如存临时变量)。与数据结构里的“堆栈”无关

2021-06-10 00:28:04 402 2

原创 逆向之汇编(4),一些汇编常用指令

1.MOV指令2.ADD指令加法将eax和ecx初始化为1和2执行:add eax,ecx意味着:eax和ecx里的数据相加,并将结果返回给前者(即eax)(下面的指令同理)f8后:3.SUB指令减法初始化eax和某内存地址(的数据)为3和9sub byte ptr ds:[0022ffc4],al4.与AND指令与运算初始化eax和某内存地址为3和6(十六进制)and byte ptr ds:[0022ffc4],al3和6 与运算==0010-

2021-06-07 20:48:16 601 1

原创 逆向之汇编(3),内存(2),存储模式

内存—1.存储模式上图,由上到下是内存的低位到高位上图,从左到右,从数据低位到数据高位1A:是一个字节(八位)大端与小端模式是由编译器决定的,这里比较模糊。- 大端模式(大多手机端应用)数据低位在(内存)高位,数据高位在(内存)低位MOV WORD PTR DS:[0x00000000],0x1A2C- 小端模式(x86上大多应用程序采用)数据低位在(内存)低位,高位在(内存)高位MOV WORD PTR DS:[0x00000000],0x1A2C注:MOV

2021-06-07 19:53:11 114

原创 逆向之汇编(3),内存

1.每个应用程序都会有自己的独立的4GB空间如图:进程:运行中的程序这里的4GB并非“真正的分了4GB内存条”,意味着,在这个进程A中,当真正读、取某个内存时,操作系统将要用的内存映射到真正的物理内存中。物理映射:不是真正的内存条,与它还有一个映射。我们在编程时所说的“内存”就是所谓的“假的”4GB内存1字节=8bit1kb=1024字节1MB=1024KB1GB=1024MB2.内存地址内存太大没法起名字子(不像32位寄存器),所以只能编号。当我们想从内存中存储数据

2021-06-06 19:04:20 123

原创 逆向之汇编(2),寄存器

寄存器定义:cpu中用来存储数据的地方大小:按CPU的类别32位CPU:有8,16,32位的寄存器64位CPU:8,16,32位的寄存器问:为什么如今大多是64位,我们依旧还要学32位的(32位CPU到64位CPU并没有整体结构上的变化,只是增添了内容)部分程序依旧是32位的(???)...

2021-06-05 00:24:07 168 3

原创 hdoj之免费馅饼

Problem Description都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼。说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内。馅饼如果掉在了地上当然就不能吃了,所以gameboy马上卸下身上的背包去接。但由于小径两侧都不能站人,所以他只能在小径上接。由于gameboy平时老呆在房间里玩游戏,虽然在游戏中是个身手敏捷的高手,但在现实中运动神经特别迟钝,每秒种只有在移动不超过一米的范围内接住坠落的馅饼。现在给这条小径如图标

2021-02-22 15:54:58 104

原创 hdoj畅通工程(加条件“数据不足以保持畅通时”)

Problem Description省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可)。经过调查评估,得到的统计表中列出了有可能建设公路的若干条道路的成本。现请你编写程序,计算出全省畅通需要的最低成本。Input测试输入包含若干测试用例。每个测试用例的第1行给出评估的道路条数 N、村庄数目M ( < 100 );随后的 N行对应村庄间道路的成本,每行给出一对正整数,分别是两个村庄的编号,以及此两村庄间道路的成本(也是正整数

2021-02-22 11:00:00 83

原创 因数是什么?用c语言判断因数

因子是整数的概念,如果整数x除以整数i是无余数的整数,那么我们就称i是x的因子如4的因子为1,2,4int x,i; scanf("%d",&x,&i); if(x%i==0) printf("i是x的因子"); return 0;

2021-01-18 21:07:52 1925

原创 (华为数列--c语言+注释)观察数列,输出其前20项,每4个数一行,每个数占8列。2 ,2, 4, 4, 6, 16, 8…

提示:奇数项:前一项的2次方偶数项:2的递增倍数#include<stdio.h>#include<math.h>int main(){ int a=2,b=2; long long n;//奇数项 int i=1;//偶数项2的乘数 int count=0;//便于换行 do{ printf("%20d",b); i++;//乘数++ b=2*i;//偶数项 count++; n=a; //奇数项 printf("%20lld",n);

2021-01-17 00:50:06 829

原创 利用循环嵌套,输出九九乘法表。c语言+注释

#include<stdio.h>int main(){ int i,j; int count=0,n=1; for(i=1;i<10;i++) { for(j=1;j<10;j++) { n=i*j; count++;//计数,便于换行 printf("%d\t",n); } if(count==9) printf("\

2021-01-17 00:36:24 1445

原创 用牛顿迭代法求3X^3+2X^2-4X=6的解。C语言+详解

#include<stdio.h>#include<math.h>int main(){ float x,x0,f,f1; x=2.0;//初始化选一个x值 do{ x0=x; f=3*x0*x0*x0+2*x0*x0-4*x0-6;//初始化点的坐标为(x0,f) f1=9*x0*x0+4*x-4;//求导,f1是导数 x=x0-f/f1;//切线方程: y-f=f1(x-x0)-->当y=0时,(切线的零点)x=。。。 }while(fabs(x

2021-01-17 00:29:49 823

原创 用二分法求3X^3+2X^2-4X=6的解。C语言+详解

#include <stdio.h>#include<math.h>int main(){ double x1,x2,f1,f2,x3,f3;//任意选取两个x变量x1,x2; do { scanf("%lf%lf",&x1,&x2); f1=3*x1*x1*x1+2*x1*x1-4*x1-6; f2=3*x2*x2*x2+2*x2*x2-4*x2-6; }while(f1*f2>0);

2021-01-17 00:11:33 516

原创 梯形法求数值定积分。如F(x)=∫ (4-X*X)^0.5dx。[a,b] c语言+注释

梯形法求数值积分。F(x)=∫ (4-X*X)^0.5dx。[a,b]#include<stdio.h>#include<math.h>int main(){ double a,b,s=0,c; double step=1E-7;//梯形的高,dx do { scanf("%lf%lf",&a,&b); }while(a>=b);//定积分区间 for(a=a+step;a&l.

2021-01-16 23:47:41 503

原创 输入一元二次方程的三个系数,求根。c语言

//输入一元二次方程的三个系数,求根。#include<stdio.h>#include<math.h>int main(){ int a,b,c; scanf("%d%d%d",&a,&b,&c); if(a==0&&b==0) printf("%d",c); if(a==0&&b!=0) printf("%d",-c/b); if(a!=0&&b!=0

2021-01-16 19:39:13 13652 2

原创 用continue做:任意输入10个数,分别算出其中负数和正数的个数。c语言

任意输入10个数,分别算出其中负数和正数的个数。continue语句:直接跳回for循环的开头,进入下一个i。int i; int a[10]; int cet1=0,cet2=0; for(i=0;i<10;i++) { scanf("%d",&a[i]); } for(i=0;i<10;i++) { if(a[i]>0) { cet1

2021-01-12 17:14:24 3034

原创 找出5000以内所有完数。c语言+完整注释

找出5000以内所有完数。完数:一个数是它所有的因子的和。比如:6=1x2x3并且1、2、3是6所有的因子,因此6是完数。for(i=1;i<=5000;i++)//枚举1~5000所有的整数 { int sum=0;//注意这里对sum的初始化 for(j=1;j<=i-1;j++)//枚举所有比i小的数 { if(i%j==0)//找到i的所有因子并累加 sum+=j;

2021-01-12 17:02:39 2054

原创 用c语言写阶乘

如何用c语言写阶乘例:求10的阶乘。#include<stdio.h>int main(){ int i,sum=1; for(i=1;i<=10;i++) { sum*=i; } printf("%d",sum) return 0;}

2021-01-12 16:45:34 11498

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除