极客2019Knife webshell就是以asp.php.jsp或者cgi等网页文件形式存在的一种代码执行环境,主要用于网站管理.服务器管理.权限管理等操作.使用方法简单,只需上传一个代码文件,通过网址访问,便可进行很多日常操作 白给的shell,密码已经给在网页上了,直接打开蚁剑链接,根目录下就可以找到flag 极客2019upload 文件上传题,木马语句的多种格式绕过 1.先上传了一个shell,更改content-type为image/gif之后出现hint,语句不能用"<?&…
简介  原题复现:[极客大挑战 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/…
前面考察取反或者异或绕过,后面读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."…
简介  原题复现:  考察知识点:SQL注入(报错注入,绕过过滤)  线上平台:https://buuoj.cn(北京联合大学公开的CTF平台 特别感谢!) 榆林学院内可使用信安协会内部的CTF训练平台找到此题 复现 经过手工测试过滤了and.= 空格 union等多个sql关键字 要思考如何绕过这些关键字去注入! 使用updatexml报错法注入 查数据库信息 http://1bfb9fee-1fce-4f07-81b1-c8048e473a66.node3.buuoj.cn/check.ph…
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…
前言 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分帧数…
三叶草极客大挑战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']…
攻防世界Web刷题记录(进阶区) 1.baby_web 发现去掉URLhttp://111.200.241.244:51461/1.php后面的1.php,还是会跳转到http://111.200.241.244:51461/1.php 为啥?查看网络 访问111.200.241.244,响应状态码是302,HTTP状态码302 表示临时性重定向,所以会被重定向到服务器希望我们访问的页面,即111.200.241.244/1.php HTTP状态码相关知识: 分类 分类描述 1** 信息,服务器…
[极客大挑战 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…
攻防世界Web刷题记录(新手区) 1.ViewSource 题如其名 Fn + F12 2.get post 3.robots robots.txt是搜索引擎中访问网站的时候要查看的第一个文件.当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围:如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面. 于是扫描根目录: 4.backup 打开: 常见的备份文件后缀名有: .git .s…
极客大挑战 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…
ACTF2020back up file backup file指的是备份文件,一般备份文件的后缀有".git" .".svn"." .swp" ".~".".bak".".bash_history".".bkf" 根据题目的hint,随便访问一个index.php.bak,下载得到备份文件 此处为弱比较,要求just num,所以传入key=123,得到flag 极…
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字的检讨 看到是一个提交界面…
这次有空的时候报名参加了一下三叶草的招新比赛,比赛时间是一个月,题目都挺基础挺好玩的,在这里记一下自己的题解同时把自己没有做的题目也跟着writeup做一遍 第一题:cl4y:打比赛前先撸一只猫!: 猫猫陪我打ctf! 到了页面之后审查元素.发现源代码里面有提示: 这里我们需要使用get请求让cat这个变量等于dog,就可以得到flag 第二题:cl4y:你看见过我的菜刀么 进入页面之后很明显是一句话木马,白送的flag 菜刀使用Syc密码连接 在根目录下有flag这个文件夹,里面的flag.t…
解题思路 打开是一个登陆框,考点sql注入了,先正常尝试一波 发现居然是get类型 输入and发现有waf过滤,那fuzz一波看看过滤了什么 fuzz union被过滤,并且绕过union的几种方法同样被过滤 报错注入 有报错,尝试下是否报错注入 payload:1'and (updatexml(1,concat(0x7e,(payload),0x7e),1)); 爆数据库:select database() 爆表名:select table_name from information_sche…
复现环境: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为…
首先观察这个web应用的功能,可以任意留言,也可以搜索留言,当然我还用cansina扫描过网站,查看过源码,抓包查看过header等.没发现其他提示的情况下断定这就是个sql注入,可能存在的注入点呢,就是留言时产生 insert into 注入,或者搜索时产生的 like '%xx%' 注入.经过多次尝试,发现留言板不存在注入点,注入点就在搜索功能中. 有过网站开发经验的应该很清楚搜索功能一般是这样实现的 select * from users where name like '%tom%';…
这道题其实是考jsp和java的,我没学过jsp,java倒是有一点了解,但是刚拿到题的时候还是看不懂java代码里的内容,所以去简单学习了下jsp(jsp教程),按照教程里的步骤搭建了eclipse 环境并打开这道题提供的项目源码在本地进行调试,然后又去百度了源码中的各个java函数,大致理解了整个web应用的逻辑. 先看下UploadServlet的内容,由前端上传的文件会首先通过这里进行处理(java序列化和反序列化) TorrentFile的内容 所以只要上传一个moviePath为 "…
题目: 解题思路: 第一次看到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后面加一个单引号,发现报错,于是开…
0x00 知识点 php中的strcmp漏洞 说明: int strcmp ( string $str1 , string $str2 ) 参数 str1第一个字符串.str2第二个字符串.如果 str1 小于 str2 返回 < 0: 如果 str1 大于 str2 返回 > 0:如果两者相等,返回 0. 可知,传入的期望类型是字符串类型的数据,但是如果我们传入非字符串类型的数据的时候,这个函数将会有怎么样的行为呢?实际上,当这个函数接受到了不符合的类型,这个函数将发生错误,但是在5.3之前…
总的来说这是一个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…
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…
也是经过一通扫描和测试,没发现其他有用信息,感觉这是个sql注入.其实对于二阶sql注入我以前没实践过,也没看过资料,只是知道这个名字,但不知道为何看到这道题就让我回想起了这个名词,所以查了一下二阶sql注入的资料:二阶sql注入.简单来说,就是第一次构造的恶意数据直接储存到了数据库中,但在其他地方用到数据库里的数据来构造新的sql语句时没有经过安全处理,便导致恶意语句被触发了. 这道题有个很明显的数据回显就是注册一个用户并登陆后会在主页显示注册时所填写的资料,所以我一开始的想法就是在注册时填写…
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函数存在一定的随机性,所以第二次…