自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 buu做题(6)

在index.php 也没有一个 文件包含漏洞, 可以目录遍历。什么都没有, 尝试用dirsearch扫一下目录。可以看到它的版本不是最新的, 搜一下相关的漏洞。扫一下目录 可以发现 robots.txt。网上挺多这样满足这样的表达式的数字 ,可以扫到一个 /phpmyadmin。抓个包 可以发现 /fl4g.php。使用 e 绕过 (本地测试一下就行)全是乱码的, 不过不影响做题。似乎有个header头跳转。可以直接进入到数据库里面。过滤了空格 和 cat。tac 代替 cat。$IFS$9代替空格。

2024-07-20 21:00:23 95

原创 buu做题(5)

current(localeconv())永远都是个点 " . " 配合 scandir(current(localeconv())) 读取当前的目录。在使用 session_id()的时候 需要使用session_start()来开启session会话。不晓得为啥总是读取不了 , file:///etc/passwd 也读不了, 也不晓得是啥原因。那么可以用这个函数来获取cookie中的。可以看到需要的flag.php文件 , 要想办法读到这个文件。(这一块的内容也还不是很了解, 后面还得继续学习一下)

2024-07-19 23:47:02 580

原创 buu--web做题(4)

中,所捕获的每个子匹配都按照在正则表达式模式中从左到右出现的顺序存储。每个缓冲区都可以使用 '\n' 访问,其中 n 为一个标识特定缓冲区的一位或两位十进制数。( strtolower() 里面是双引号, 单引号都不行 , \1 就会就会捕获到对应的表达式 (getFlag()) ,preg_replace() 使用了 /e 模式 , 第二个参数可以进行命令执行, 但这里第二个参数是固定了。对字符串中可能会欺骗 shell 命令执行任意命令的字符进行转义。\\1 ---> \1 第一个子匹配项 ,

2024-07-19 00:34:10 764

原创 WKCTF 2024--web

为什么是 for i in range(10000, 100000): 应该是一般的上传文件的处理, 对上传的文件使用 随机数 进行重命名, 所以根据这个来爆破出文件路径。png图片里面的内容 应该就是一句话木马了(如果会做一些内容检查的话 ,应该就是一些常规的绕过了)将爆破得到 的png图片的路径 里面的内容写入到 backdoor.php。(可以理解为改了个后缀, 以便能够执行 php代码 , 执行所想要的命令)上传图片, 但是题目不会回显出上传的文件的路劲, 需要去爆破。

2024-07-18 14:16:35 126

原创 buu--web做题(3)

尝试随便输入一个参数, 发现报错有个 include() , 估计就是文件包含了。好像也可以 使用 \system 来绕过 (但我尝试的时候没成功, 没有回显)根据报错, 搜索一下可以发现是Smarty 模板。抓个包看看尝试伪造一下ip, 有没有什么变化。所以问题就是这里了, 看看再这里执行一下命令。尝试读一下当前文件, 依旧报错 ,有点奇怪。使用{if}{/if}标签执行命令。点击一下flag , 会先出ip。看一下环境里面, 也没有flag。emmmm, 没找到flag。好像没啥东西, 抓个包看看。

2024-07-17 21:35:08 724

原创 CTFshow--web--xss

先在自己的服务器写上代码要拿到管理员的cookie , 而不是自己的。

2024-07-16 23:05:35 957

原创 [网鼎杯 2018]Fakebook

里面的参数是一个完整的路径,于是我们直接用var/www/html/flag.php路径去访问一下这个文件就可以拿的到flag。union select 不行, 但是单独的union 和 select 可以, 可能是不能连一起 , 中间用 /**/前面可以知道是data字段存放着序列化的字符串 , 所以将自己构造的序列化字符串放在第四个位置注入进去。源码里面可以找到一串特性的字符串, 点击一下, 就会跳转到相应的界面得到flag。很明显的反序列化的内容 , 之前注册账号的内容。单独看 data 的数据。

2024-07-16 21:37:44 381

原创 [HCTF 2018] admin

然后去更改密码, 记住改后的密码, 再登出, 使用admin的用户登录, 然后用刚刚改的密码,就可以进去了。尝试注册一个 admin 用户, 可以发现这个用户已经存在, 然后就可以尝试弱口令爆破了。将得到的结果 替换掉原来的session ,刷新一下页面就出现了flag。(现在好像已经登不进去了, 时间太久了估计删了 , 借一下别人的图)对于session解密一下 , 可以看到用户为 1 (我注册的)而且在注册的时候以及在修改密码的时候都会使用一次这个函数。随便注册一个账号进去, 到更改密码的里面去,

2024-07-15 21:11:55 596

原创 ctfshow--web入门--SSRF

(第一遍没成功, 环境关了之后重复一下第二遍也没成功 , 因为之前是命名1.php 然后第三次直接又重复了一遍, 就改了个名字(shell.php), 居然就可以了,有点不理解 )或者改本地域名的A记录到127.0.0.1上,然后访问http://域名/flag.php。在自己的服务器上新建一个1.php ,写上如下内容。url=http://[自己的域名]/1.php。可以具体的了解一下parse_url()函数。将_ 后面的内容再次url编码一下, 传上去。进一步限制了长度, 依旧可以用之前的方法。

2024-07-14 22:39:08 975

原创 NewStarCTF 2023 week5--web

比如别人读取的文件, 应该是要有个docker然后再是后面的数字啊, 有点懵,感觉应该是环境变了。却没有反应,啥也没有,不知道为啥,看别人的博客应该是可以的。不管前面的反序列化,直接利用 php://input ,猜测路径为var/www/html。不晓得为啥1.php就是无法执行命令, 蚁剑也连不上,可能哪里出问题了 哎,太菜了。网上搜到的一个, 但是用不了,可能具体的版本不一样,尝试使它报错,得到具体的版本情况。离谱了,之前都还行,现在环境又不行了 , 一样的参数, 我真服了, 重启也不行。

2024-07-12 20:35:52 963

原创 NewStarCTF2023-Misc

得到flag :flag{1nf0rm4t10n_s3cur1ty_1s_a_g00d_j0b_94e0308b}根据题目的要求,index.php为存在漏洞的文件名,wh1t3g0d.php为webshell文件名。flag请按照flag{}的格式进行提交,涉及字母均为小写··根据变化的位数,一旦匹配成功就会进行匹配下一个字符,根据这个确定所有匹配的字符。(学着别人的脚本自己边理解边写,学习一下,脚本能力太弱了,哎)里面有很多文件,稍微找一下,可以发现一段特殊的文字,解密一下。

2024-07-07 14:50:40 867

原创 NewStarCTF 2023 web(2)

之前没写完的题继续。

2024-06-04 00:12:32 1025

原创 中国海洋大学新生赛

使用 parse_str 函数解析查询字符串,将其转换为 PHP 变量。name=John&age=30,那么 parse_str 会创建两个变量 $name 和 $age,并分别赋值为 John 和 30。在php中 . 和空格 在传参时会被转化成下划线,正好前面把 . 和 _ 给过滤了 ,用空格替代。因为前面存在的parse_str() 函数,能够变量覆盖, 然后再进行MD5弱比较。可在eval()中多重转码混淆,依旧可以执行js代码,有返回值。还需要绕过preg_match(),而在非多行模式下,

2024-05-18 23:14:17 745

原创 XYCTF - web

有些是比赛的时候写的,大部分是赛后看wp复现的。

2024-05-12 22:43:52 1141

原创 HZNUCTF -- web

(我开始做的时候也是想拼接绕过来着,一直没成功,感觉应该是格式的问题,失败了几次也就直接放弃了,感觉不会这么简单的直接就是引号拼接)是做了一个类似前端的验证啥的,只要出现了 flag 或者 /f* 啥的就会返回那个假的的flag。(尝试ls 只能列出当前目录,列不出根目录,无法cat ,所以尝试 env命令),需要特殊处理 ,[ 就被转换成 _ ,且后面的 点号 . 也可以正常传了。要传参 s_1.1 因为php特性的关系,正常传不了 点号 .但是这道题可以列出来目录,无法读取文件,没有权限,需要提权。

2024-04-24 20:22:36 711

原创 NewStarCTF 2023 web

访问 /robots.txt 可以得到 flag{r0bots_1s_s0_us3ful访问 /www..zip 下载文件,有两个文件,放了flag(目录扫描)

2024-04-21 23:31:02 1083

原创 php反序列化题目

Start类 - __destruct ---> Sec类- __toString ---> Easy类 -__call ---> eeee类-__clone。可以发现在 Sec 类 中 使用了一个 check()方法,但是这个方法是不存在的,正好满足__call() 的条件,这又需要调用到。---> Start类- __isset ---> Sec 类- __invoke --->file_get_contents。方法,在对象中调用一个不可访问方法时,__call() 会被调用。

2024-04-07 20:01:45 986

原创 ctfshow ssti注入

可以通过十六进制编码的方式进行绕过 __ : {{()["\x5f\x5fclass\x5f\x5f"]}} ={{().__class__}}(有点奇怪,values 是可以post 传参的,但是这里post传参后会报错,之后再去get传参也会报错,想要关了之后重新打开,去get传参)过滤了 {{ ,其他同web367 ,稍微改一下,{{}} ==> {%print()%}过滤了 下划线__ , 引号 ,args , [] , os。过滤了 引号,argsaa。

2024-04-01 01:19:43 585

原创 buu刷题(2)

分析代码,对GET传参的 str 值反序列化,我们需要 read()这个函数 ,去读取flag.php,得到flag,所以将op的值改为2,file的值为flag.php,但是__destruct()会将op的值改为2,需要将它绕过,分析代码,需要GET传参 text&file&password 三个参数,file 传参的值不能有flag,password传参的值会反序列化,file_get_contents 得到文件里的内容,并且还要与。

2024-04-01 00:23:24 828

原创 buu misc(1)

也可以直接将其用base64解码,比较容易发现是一张png图片,保存,重命名为1.png,打开可以得到一张二维码。有点懵,010,binwalk , stegsolve,都尝试了一下,没啥收获,看了wp后,还是010的问题。先用010打开,没有什么发现,拖到kali里面,用binwalk命令 分离一下,也什么都没有。用binwalk 分离,有一个加密的压缩包,刚开始直接是去暴力破解来着,但一直没有破解出来,010打开,没有发现什么,又用stegsolve 打开,一通操作也是啥也没发现,查看wp ,

2024-04-01 00:21:43 566

原创 文件包含题(进阶)

(不是使用system("env");第三种方法是利用 PHP Base64 Filter 宽松解析 ,构造RCE, 看了好久目前还没看懂。( 成功执行, 写入命令到/tmp/shell.php ,访问这个文件进行 RCE)可以发现访问到了这个文件,然后进行POST传参 进行 RCE。用 cat 命令 随便进入到几个文件中没能发现flag ,在环境变量中,需要用到 system("env");直接包含flag.php ,即可拿到flag。(一直找到根目录也没能找到flag)

2024-03-31 19:24:23 1087 1

原创 Call Me by Your Name(SSTI注入)

考察SSTI注入,确实是题刷少了,之前也没写过这种题,对于这种类型的题目不熟悉,完全没反应过来,拿到题目有点懵逼,不晓得要干啥看过几篇文章后,再次尝试做题。

2024-03-29 13:15:35 946

原创 buu刷题(1)

file=pHp://FilTer/convert.base64-encode/resource=flag.php ,会回显出编码后的字符串,将其解码,可以得到flag。根据words表的情况,可以猜测查询的表是words中的数据,将含有flag的1919810931114514 表改名成words,再根据前面的万能密码可以查询全部的数据,可以得到flag。只有一个查询框,查看源代码没有什么发现,输入 1 , 1‘ , 1" ,也是没有什么反应。

2024-03-25 02:09:44 557

原创 Grafana

刚开始一直在这个界面里面想要找些上面有用的信息,又偏偏在里面发现了这么个东西,我就一直以为flag在这里面,捣鼓这捣鼓那的,想着是不是哪里有可以写代码命令执行啥的,就完全没去百度,谷歌搜索一下,然后就一直卡在这里了。直接用bp抓包,读取文件 /tmp/flag ,可以得到flag。刚开始有个登录页面,需要爆破用户名和密码(也可以直接猜出来)admin 和 123456。因为题目有提示falg在 /tmp/flag 里。赛后wp说有个任意文件读取漏洞。

2024-03-25 01:25:16 179

原创 NKctf---webshell_pro

得到flag:flag{d0e1183c-07c3-49ea-b048-addbe6cc1b20}cat: 小明的日记.txt: No such file or directory。一堆代码:(有 0~12 共13个流,每个流都有不同的代码,需要将其解码)替换编码(比如 %40 -->@) ========>脚本运行结果=====>-->分析-->追踪流-->TCP stream。base64 解码,是一个加密的脚本==>用Wireshark 打开附件。base32解码==>

2024-03-25 01:21:21 945

原创 文件上传(简陋的笔记)

@eval($_POST[1])

2024-03-17 19:52:43 348 1

原创 ctfshow sql注入(174~184,187~188 ,比较简陋)

( ''%0a'' ''/**/'' ''%0b'' ''%09'' ''%0c'' ''()'' "%0d" “%00” ) ===>代替空格。第一种:1'union%0cselect%0c1,2,password%0cfrom%0cctfshow_user%0cwhere%0cusername='flag'%23。密码为ffifdyop,bp抓包得到flag。第一种:'or'1'='1'--%0c。

2024-03-17 19:26:26 957 1

原创 outguess

t 1.txt ,得到flag HSCCTF{Welcome_to_HSCCTF}用binwalk可以发现里面有两张图片,用010搜索文件头,手动分离出两张图片,第二张图片上面有字母,但不是flag,而是密钥,在kali里面用。

2024-03-12 20:54:56 376 1

原创 ctfshow web入门(信息搜集)

各个里面找一下,var/www/html/editor/nothinghere里面有个fl000g.txt文件,在url后面加上/nothinghere/fl000g.txt就可以直接访问得到flag(开始还想着在url后面加上/var/www/html/editor/nothinghere/fl000g.txt,但得不到flag,不知道为什么,只能是访问/nothinghere/fl000g.txt才会得到flag)在url后面加上/db/db.mdb,下载用记事本打开,搜索flag。

2024-01-26 23:09:30 311 1

原创 ctfshow misc入门 做题记录

经过binwalk分离出俩个zlib文件,没得到什么信息,用tweakpng查看文件,发现有两个IDAT(好像应该是大的在前,小的在后,题目的这个文件是小的在前,说明是异常的,调换一下顺序或者将第一个删掉,再在tools中查看,就可以得到flag了)解压压缩包是六个 txt 文件,打开都市乱码的,应该是文件后缀的问题,用010打开看它的文件头,找相应的图片文件头一一对应,修改后缀为相应的图片后缀,能够得到flag。还需要将要打开的文件放在这个文件的目录下,再cmd命令,才可以打开图片,得到flag。

2024-01-01 17:24:59 994

原创 ganctf(未完成)题目复现

需要上传图片,文件上传的题目,尝试上传一句话木马,上传php文件之前先上传.user.ini文件构造内容为上传进行bp抓包更改为 Content-Type:image/jpeg ,然后放行在上传php文件,写一句话木马(之前比赛的时候离成功就差了一步,不晓得怎么利用文件的绝对路径,搞半天,蚁剑总是连不上,真是要崩了,人都麻了)查看源码发现应该被过滤了可以用替代再次上传,用蚁剑连接连接成功,可以查看里面的文件,找到flag可以看看这两篇文章。

2023-12-26 01:03:01 1034 1

原创 ctfshow web入门 题目记录(简单的文件包含)

意味着将php过滤了,所以需要绕过,可以使用date伪协议,用base64将<?过滤了很多,直接用date伪协议,base64编码绕过,使用命令执行得到flag (题目过滤了=号,base64编码后需要将=去掉,=不影响编码结果) <?可以发现已经被执行了,所以再使用命令执行的方法,查看一下目录 <?可以查看到当下文件的目录,在读取flag文件,1=system("tac fl0g.php");直接利用伪协议,读取flag文件得到flag, 然后再进行base64解码得到flag。

2023-12-26 00:54:38 383 1

原创 变量覆盖($$)

再看到最后一个if可知要绕过需要以post形式传参flag=flag的值(我们需要的真实的flag),这是不可能的,没办法绕过,所以我们会得到$error的值。所以$error=$flag ,最后得到的$error的值会得到$flag的值(也就是我们需要的flag)第二个foreach: 以post 的形式传参,先绕过if(只要不传入值为flag)再结合第二个foreach中的$$key=$$value,可以将。$$key=$$value =>传参。(可将scues中的值被flag给覆盖)

2023-11-26 22:59:51 466 1

原创 第一次做php的题目

code 参数的值要为2023但是前面的“!将任意俩个值赋值给 a 和 b这样md5($k1)==md5($k2)&&$k1!:判断是否存在code这个参数,以post的方式传入参数code赋值给变量code。(前面已经令a和b作为参数以get的方式提交了,并且$k1=a,$k2=b):money的字符长度不超过4,且$money+1>999999999。所以令code=2023a(后面随便加个字母),就可以满足条件了。:$k2和$k1的md5值相等,但是$k1!将money以post的方式提交。

2023-11-19 21:53:39 61 1

原创 php学习2

用函数var_dump(变量1,变量2...)查看,二进制:0b开头 八进制:0开头 十六进制:0x开头。这个函数会返回变量的类型和值。

2023-11-11 16:30:15 26 1

原创 php学习01

提前定义的变量,系统定义的变量,存储许多需要用到的数据(预定义变量都是数组)$_GET:获取所有表单以get方式提交的数据$_POST:post提交的数据都会保存在此_REQUEST:get和post提交的都会保存$_GLOBALS:php中所有的全局变量$_SERVER:服务器信息_SESSION:session会话数据$_COOKIE:cookie会话数据$_ENV:环境信息$_FILES:用户上传的文件信息两种方式定义:define(‘常量名’,常量值);

2023-11-07 23:40:33 19

原创 css-浮动

last-child{ } 匹配父元素最后一个子元素,并且是e元素。first-child{ } 匹配父元素第一个子元素,并且是e元素。){ } 匹配父元素第n个子元素,并且是e元素。::after 在父元素内容的最后添加一个伪元素。::before 在父元素内容的最前行添加一个伪元素。){ } 匹配父元素倒数第n个子元素,并且是e元素。2.浮动元素可以覆盖标准流中的元素。

2023-11-07 15:21:41 28

原创 css-盒子模型

padding:10px 20px 30px 40px(上 下 左 右):互相嵌套的块级元素,子元素的margin-top会作用在父级元素上,导致父元素一起向下移。(实线:solid 虚线:dashed 点线:dotted)padding:10px 20px 30px(上 左右 下)padding:10px 20px(左右 左右):垂直布局的块级元素,上下的margin会合并(取最大值)margin:数字px(与padding写法一致)padding:数字px。

2023-11-07 14:08:58 22

原创 css学习1

repeat-x / y(水平平铺 / 垂直平铺)2.数字px(正数向右 / 向下移动,负数向左 / 向上移动)(初始为左上方)text-align:left / right / center (图像,input等标签都行)line-height:数字px 或 数字(为当前font-size的倍数)font-weight:700(正常是400)(100~900)background-repeat:repeat(水平和垂直方向都平铺)(默认)font-family:宋体(直接写中文)格式: *{ }

2023-11-05 15:07:42 23 1

原创 HTML简单标签学习(学习笔记)

可折叠文字第一项 .... ...第二项 ......

2023-11-04 13:33:18 25

空空如也

空空如也

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

TA关注的人

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