三叶草极客大挑战2020 部分题目Writeup Web Welcome 打开后状态码405,555555,然后看了一下报头存在请求错误,换成POST请求后,查看到源码 <?php error_reporting(0); if ($_SERVER['REQUEST_METHOD'] !== 'POST') { header("HTTP/1.1 405 Method Not Allowed"); exit(); } else { if (!isset($_POST['roam1']…
前言 wp是以前写的,整理一下发上来. 不是很全. 2020 极客大挑战 WEB 1.sha1碰撞 题目 图片: 思路 题目说,换一种请求方式.于是换成post.得到一给含有代码的图片 图片: 分析该图片,得知只有传承的roam1和roam2的值不相等,而且SHA1加密后的值相同才会出现flag php对数组进行sha1加密都为false.所以我们传入两个数组进去 构造payload roam1[]=1&roam2[]=2 //这是post传数组的特定形式. 成功打开phpinfo() 图片:…
第一次接触CTF,只会做杂项和一点点Web题--因为时间比较仓促,写的比较简略.以后再写下工具使用什么的. 纯新手,啥都不会.处于瑟瑟发抖的状态. 一.MISC 1.签到题 直接填入题目所给的SYC{We1c0m3_To_G33k_2O!6} 并且可以知道后边的题的Flag格式为 SYC{} 2.xiao彩蛋 题目提示关注微博,从Syclover Team 博客(http://blog.sycsec.com)可获取到三叶草小组微博,私信发送flag后即可得到. 3.闪的好快 一开始拖进PS分帧数…
[极客大挑战 2019]Secret File 0X01考点 php的file伪协议读取文件 ?file=php://filter/convert.base64-encode/resource= 0X02解题过程 bp开启,有页面跳转,然后访问 /secr3t.php 出现了源代码 <html> <title>secret</title> <meta charset="UTF-8"> <?php highlight_file(__F…
简介  原题复现:[极客大挑战 2019]BuyFlag  考察知识点:php函数特性(is_numeric().strcmp函数())  线上平台:https://buuoj.cn(北京联合大学公开的CTF平台 特别感谢!) 榆林学院内可使用信安协会内部的CTF训练平台找到此题 复现 基础知识 is_numeric()函数 :https://www.cnblogs.com/xhds/p/12312223.html strcmp()函数:https://www.cnblogs.com/xhds/…
打开靶机,发现什么也没有,因为极客大挑战有hint.txt,里面说尝试换一种请求的方式,bp抓包,然后发送了POST请求,出现了下面的界面 这个还是挺简单的,因为是极客大挑战上的第一波题,关键是这个如果不是用POST请求,就会出现类似报错的信息.紧接着就是isset这个很好绕过,我们要传参,这个 肯定到了else if判断,如果进入这个循环,我们就可以拿到这个站的phpinfo()信息,POST传两个参数,roam1和roam2要求他们不能相等,并且经过sha1还是相等的.这就 用到了sha1函…
极客大挑战 http referer 请求头 xff 1.查看源码,发现secret.php 2.提示要把来源改成Sycsecret.buuoj.cn,抓包,添加Referer Referer:http://Sycsecret.buuoj.cn (添加前) (添加后) 3.提示要把browser改成Syclover,所以把请求头的users-agent改掉 4.提示要本地访问 所以添加XFF:127.0.0.1,得到flag…
BUUCTF-[极客大挑战 2019]BabySQL(联合注入绕过waf) 记一道联合注入的题,这道题存在过滤. 经过手工的测试,网站会检验用户名和密码是否都存在,如果在用户名处插入注入语句,语句后面跟的注符会将密码注释掉,检测不到密码会报错Input your username and password.所以这道题我们在密码处插入注入语句. 在我们试图查看存在几个字段的时候,发现order变成了der,那么应该是过滤了or,双写or可以绕过. 在进行联合注入的时候报错,报错的内容里面union…
CODE 和0xpoker分0day 百度 取石子游戏. https://blog.csdn.net/qq_33765907/article/details/51174524 已经说得很详细了,慢慢来就好了. IOT 无题 流量分析题目,wireshark打开. 文件->导出对象->HTTP MISC 钢铁是怎样炼成的 https://pan.baidu.com/s/1DPuBCY-TRZg9mMQ23pm3Vg 密码:tq5b 这个绝对是明文攻击,可是我AAPR就是不行,又去试了下AZPR,…
Welcome 复制黏贴flag即可 我相信你正在与我相遇的路上马不停蹄 关注微信工作号回复"我要flag"即可获得flag 代号为geek的行动第一幕:毒雾初现 发现flag为摩尔斯密码SYC{--. . . -.- .- -.-. - .. --- -. .... .- ... -... . --. ..- -. } 翻译网站百度找 翻译结果为:GEEKACTIONHASBEGUN 对应的flag:SYC{GEEKACTIONHASBEGUN} 2000字的检讨 看到是一个提交界面…
极客2019Knife webshell就是以asp.php.jsp或者cgi等网页文件形式存在的一种代码执行环境,主要用于网站管理.服务器管理.权限管理等操作.使用方法简单,只需上传一个代码文件,通过网址访问,便可进行很多日常操作 白给的shell,密码已经给在网页上了,直接打开蚁剑链接,根目录下就可以找到flag 极客2019upload 文件上传题,木马语句的多种格式绕过 1.先上传了一个shell,更改content-type为image/gif之后出现hint,语句不能用"<?&…
ACTF2020back up file backup file指的是备份文件,一般备份文件的后缀有".git" .".svn"." .swp" ".~".".bak".".bash_history".".bkf" 根据题目的hint,随便访问一个index.php.bak,下载得到备份文件 此处为弱比较,要求just num,所以传入key=123,得到flag 极…
首先观察这个web应用的功能,可以任意留言,也可以搜索留言,当然我还用cansina扫描过网站,查看过源码,抓包查看过header等.没发现其他提示的情况下断定这就是个sql注入,可能存在的注入点呢,就是留言时产生 insert into 注入,或者搜索时产生的 like '%xx%' 注入.经过多次尝试,发现留言板不存在注入点,注入点就在搜索功能中. 有过网站开发经验的应该很清楚搜索功能一般是这样实现的 select * from users where name like '%tom%';…
题目: 解题思路: 第一次看到html里只有字其他啥也没有的题,一脸懵逼,学长提示抓包改包,于是开始我的苦逼解题. 0x01 抓包 0x02 改包 由于题目说只有iphoneX才能接受这个website,所以联想到要将user-agent改为iPhone的版本. 如图,好不容易找到iphone的user-agent,它却说ip不对,请教了帅行学长,改x-forward-for为127.0.0.1,没懂hh.在穷追不舍的追问之后学长说是要用modify headers,于是来到第三步. 0x03…
0x01.web-PHP的悖论1 题目: 链接:http://game.sycsec.com:2009/10111.php 解题思路: 1.首先,web对于选择二进制方向的我这个菜鸡绝对是十分懵逼的,看到这个题目简洁明了于是想试试. 题目的意思很明了,要post两个变量使得if语句成立拿flag. 了解了一下==,===,!=和!==的含义,这里po出来,也算是一种复习了. Tips:a==b: 意思是a和b的值相等,但类型不需要相同. a===b: 意思是a和b的值和类型都要相同. !=和!=…
web-故道白云 题目: 解题思路: 0x01 首先看到题目说html里有秘密,就看了下源代码如图, 重点在红圈那里,表示输入的变量是id,当然上一行的method=“get”同时说明是get方式获取变量,所以有了大致思路,以get方式读取id,注入点可能在id. 0x02 使用的工具是火狐的hackbar,随便输入然后submit,看到url变为http://game.sycsec.com:2006/?id=adf&submit=submit 固定套路,在id后面加一个单引号,发现报错,于是开…
前面考察取反或者异或绕过,后面读Flag那里我用脏方法过了,没看出来考察啥 进入题目给出源码: <?php error_reporting(0); if(isset($_GET['code'])){ $code=$_GET['code']; if(strlen($code)>40){ die("This is too Long."); } if(preg_match("/[A-Za-z0-9]+/",$code)){ die("NO."…
总的来说这是一个64位orw的题 开头先在主函数里分配了一个很大的空间 1 __int64 __fastcall main(int a1, char **a2, char **a3) 2 { 3 mmap((void *)0x123000, 0x1000uLL, 6, 34, -1, 0LL); 4 sub_400949(); 5 sub_400906(); 6 sub_400A16(); 7 return 0LL; 8 } 1 __int64 sub_400949() 2 { 3 __int6…
这道题其实是考jsp和java的,我没学过jsp,java倒是有一点了解,但是刚拿到题的时候还是看不懂java代码里的内容,所以去简单学习了下jsp(jsp教程),按照教程里的步骤搭建了eclipse 环境并打开这道题提供的项目源码在本地进行调试,然后又去百度了源码中的各个java函数,大致理解了整个web应用的逻辑. 先看下UploadServlet的内容,由前端上传的文件会首先通过这里进行处理(java序列化和反序列化) TorrentFile的内容 所以只要上传一个moviePath为 "…
也是经过一通扫描和测试,没发现其他有用信息,感觉这是个sql注入.其实对于二阶sql注入我以前没实践过,也没看过资料,只是知道这个名字,但不知道为何看到这道题就让我回想起了这个名词,所以查了一下二阶sql注入的资料:二阶sql注入.简单来说,就是第一次构造的恶意数据直接储存到了数据库中,但在其他地方用到数据库里的数据来构造新的sql语句时没有经过安全处理,便导致恶意语句被触发了. 这道题有个很明显的数据回显就是注册一个用户并登陆后会在主页显示注册时所填写的资料,所以我一开始的想法就是在注册时填写…
复现环境:buuoj 0x01:Havefun F12查看源码,明显html注释里是一段php get方式传参数,payload:http://f5cdd431-df98-487f-9400-e8d044fcc945.node3.buuoj.cn/?cat=dog 0x02:EasySQL 用万能密码 用户名:'or 1=1# 密码 : 随便输 看下用户名和密码都不知道的情况: username='admin'or 1=1#' and password='随便写' #把后面的都注释掉了,1=1为…
0x01.Writeup-RE-CM_2 题目: 解题思路: 1.这个是经过xor的,王老师提示说用xortool,于是放进kali,装好之后执行 xortool CM_2.exe -b, 0.out变为PEexe,于是放进IDA32得到flag. 0x02.Writeup- RE-CM_3 解题思路: 1.拿道题之后直接丢进DIE扫一下,如图,可以看出是32位,于是用32位IDA打开.   2.shift+F12看字符串,看到敏感字符SYC{%s}于是点进去,于是知道关键函数是sub_45BF…
0x00 知识点 盲注 0x01 解题 根据题目提示盲注,随便点几下找到注入点 发现我们输入^符号成功跳转页面,证明存在注入 1^(ord(substr((select(group_concat(schema_name))from(information_schema.schema ta)),%d,1))=%d)^1"%(i,ord(j)) 获取数据库名称 1^(ord(substr((select(group_concat(table_name))from(information_schema…
0x00 知识点 报错注入 链接: https://www.cnblogs.com/richardlee97/p/10617115.html 报错原因: 其原因主要是因为虚拟表的主键重复.按照MySQL的官方说法,group by要进行两次运算,第一次是拿group by后面的字段值到虚拟表中去对比前,首先获取group by后面的值:第二次是假设group by后面的字段的值在虚拟表中不存在,那就需要把它插入到虚拟表中,这里在插入时会进行第二次运算,由于rand函数存在一定的随机性,所以第二次…
0x00 知识点 一个常规上传题目,知识点全都来自前几天写的文章: https://www.cnblogs.com/wangtanzhi/p/12243206.html 1:某些情况下绕过后缀名检测: php,php3,php4,php5,phtml.pht 2:常用一句话: GIF89a? <script language="php">eval($_REQUEST[shell])</script> php5适用 3:文件类型绕过 改成image/jpeg 0x…
0x00 知识点 双写绕过 简单测试一下,发现or在登陆过程被过滤,想到使用oorr试试,结果成了?! 最后多测试一下,发现from union select 这些关键函数都被替换为空 本题直接进行常规的双写绕过. 0x01 解题 查询数据库: http://63617ca2-4ac2-4f57-b718-79898153f19b.node3.buuoj.cn/check.php?username=admin&password=admin1%27uniunionon%20selselectect…
0x00 知识点 php中的strcmp漏洞 说明: int strcmp ( string $str1 , string $str2 ) 参数 str1第一个字符串.str2第二个字符串.如果 str1 小于 str2 返回 < 0: 如果 str1 大于 str2 返回 > 0:如果两者相等,返回 0. 可知,传入的期望类型是字符串类型的数据,但是如果我们传入非字符串类型的数据的时候,这个函数将会有怎么样的行为呢?实际上,当这个函数接受到了不符合的类型,这个函数将发生错误,但是在5.3之前…
0x00知识点 了解HTTP协议,使用bp伪造. 0x01 解题 首先查看源代码,找到Secret.php 访问 使用bp查看 提示我们需要来自该网址,直接改header头信息即可,我们可以通过使用referer头来修改 提示我们需要使用"Syclover"浏览器,这里直接修改UA头即可 下一步要求我们本地访问,我们可以使用XFF头进行伪造 得到flag…
0x00 知识点 1:万能密码登陆 2:登陆后直接使用联合查询注入 0x01解题 登陆后进行简单测试发现是字符型注入 order by 测试数据库有多少字段 发现在4的时候报错,没有过滤,直接进行注入 注入数据库: admin'union+select+1,2,group_concat(schema_name)+from+information_schema.schemata# 查询数据表 username=admin&password=admin'%20union%20select%201%2…
根据题目Knife 猜想尝试用蚁剑连接 http://40b92ebd-5234-40b7-b2e0-3c42fb5ad000.node3.buuoj.cn/?Knife.php 密码:Syc 找到flag emmm确实白给的shell..…