[CISCN2019 华北赛区 Day1 Web5]CyberPunk】的更多相关文章

目录 刷题记录:[CISCN2019 华北赛区 Day1 Web5]CyberPunk 一.知识点 1.伪协议文件读取 2.报错注入 刷题记录:[CISCN2019 华北赛区 Day1 Web5]CyberPunk 题目复现链接:https://buuoj.cn/challenges 参考链接:ciscn2019华北赛区半决赛day1web5CyberPunk 一.知识点 1.伪协议文件读取 file=php://filter/convert.base64-encode/resource=ind…
0x00 知识点 PHP伪协议直接读取源码 http://xxx.xxx/index.php?file=php://filter/convert.base64-encode/resource=index.php updatexml报错注入 不懂的可以看链接: https://blkstone.github.io/2017/11/09/updatexml-sqli/ 关于 updatexml 函数 UPDATEXML (XML_document, XPath_string, new_value);…
BUUCTF-[CISCN2019 华北赛区 Day1 Web5]CyberPunk 看题 看源码有提示?file=? 文件包含漏洞,可以利用这个漏洞读取源码. 分析 index.php?file=php://filter/read=convert.base64-encode/resource=change.php 挨个读取完后,base64解码后,在change.php发现了一点问题 <?php require_once "config.php"; if(!empty($_PO…
目录 刷题记录:[CISCN2019 华北赛区 Day1 Web1]Dropbox 一.涉及知识点 1.任意文件下载 2.PHAR反序列化RCE 二.解题方法 刷题记录:[CISCN2019 华北赛区 Day1 Web1]Dropbox 题目复现链接:https://buuoj.cn/challenges 参考链接:ciscn2019华北赛区半决赛day1_web1题解 一.涉及知识点 1.任意文件下载 当时线下就做到这一步 2.PHAR反序列化RCE 总结在这里:Phar反序列化 利用条件:…
目录 刷题记录:[CISCN2019 华北赛区 Day1 Web2]ikun 一.涉及知识点 1.薅羊毛逻辑漏洞 2.jwt-cookies伪造 Python反序列化 二.解题方法 刷题记录:[CISCN2019 华北赛区 Day1 Web2]ikun 题目复现链接:https://buuoj.cn/challenges 参考链接:CISCN 华北赛区 Day1 Web2 对我来说新知识点很多的一道题,菜笑了 一.涉及知识点 1.薅羊毛逻辑漏洞 可以通过抓包修改折扣等数据来购买 2.jwt-co…
PHAR:// PHP文件操作允许使用各种URL协议去访问文件路径:如data://,php://,等等 include('php://filter/read=convert.base64-encode/resource=index.php'); include('data://text/plain;base64,xxxxxxxxxxxx'); 前者使用到了过滤器来进行读写文件,后者使用data协议进行文件的读写. phar://也是流包装的一种,关于phar的结构: 1.stub 一个供pha…
步骤: 找到lv6的购买出,修改折扣买lv6 :然后找到admin的登陆界面,JWT破解,登陆admin :点击一键成为大会员,利用python反序列化漏洞读取flag 解析: 这题师傅们的WP已经很详细了,我就记录一下我自己不懂的点 import pickle import urllib class AdminHandler(BaseHandler): @tornado.web.authenticated def get(self, *args, **kwargs): if self.curr…
步骤: 1.运行这个: <?php class User { public $db; } class File { public $filename; } class FileList { private $files; public function __construct() { $file = new File(); $file->filename = "/flag.txt"; $this->files = array($file); } } $a = new…
0x01 前言 通常我们在利用反序列化漏洞的时候,只能将序列化后的字符串传入unserialize(),随着代码安全性越来越高,利用难度也越来越大.但在不久前的Black Hat上,安全研究员Sam Thomas分享了议题It’s a PHP unserialization vulnerability Jim, but not as we know it,利用phar文件会以序列化的形式存储用户自定义的meta-data这一特性,拓展了php反序列化漏洞的攻击面.该方法在文件系统函数(file_…
知识点:逻辑漏洞.jwt密钥破解.python反序列化漏洞 进入靶机查看源码: 提示需要买到lv6,注册账号发现给了1000块钱,根据ctf套路应该是用很低的价格买很贵的lv6,首页翻了几页都没发现lv6,写脚本找: import requests url = "http://76267771-2542-4ee4-a22f-d01b144fa6c5.node3.buuoj.cn/shop?page={}" for i in range(10,1000): url1=url.format…
0x00知识点 phar是什么: 我们先来了解一下流包装 大多数PHP文件操作允许使用各种URL协议去访问文件路径:如data://,zlib://或php://.例如常见的 include('php://filter/read=convert.base64-encode/resource=index.php'); include('data://text/plain;base64,xxxxxxxxxxxx'); phar://也是流包装的一种 phar原理 ****可以理解为一个标志,格式为x…
简介  原题复现:  考察知识点:逻辑漏洞.JWT伪造.python反序列化  线上平台:https://buuoj.cn(北京联合大学公开的CTF平台) 榆林学院内可使用信安协会内部的CTF训练平台找到此题 过程 python页面批量查找 打开看信息 看到这一块 结合下方产品列表 大致看了下有500个分页 写了个py找V6!!! import requests from bs4 import BeautifulSoup for i in range(1,500): url="http://3e…
考点:JWT身份伪造.python pickle反序列化.逻辑漏洞 1.打开之后首页界面直接看到了提示信息,信息如下: 2.那就随便注册一个账号进行登录,然后购买lv6,但是未发现lv6,那就查看下一页,此时观察下访问的url地址:http://xxxxxxx.node4.buuoj.cn:81/shop?page=2,很明显这里是要我们修改page参数进行访问,获取到lv6后进行购买,那就用脚本获取下lv6的位置,脚本和结果如下: 脚本代码: import requests url = 'ht…
考点:JWT身份伪造.python pickle反序列化.逻辑漏洞 1.打开之后首页界面直接看到了提示信息,信息如下: 2.那就随便注册一个账号进行登录,然后购买lv6,但是未发现lv6,那就查看下一页,此时观察下访问的url地址:http://xxxxxxx.node4.buuoj.cn:81/shop?page=2,很明显这里是要我们修改page参数进行访问,获取到lv6后进行购买,那就用脚本获取下lv6的位置,脚本和结果如下: 脚本代码: import requests url = 'ht…
太难了QAQ 先看看phar是啥https://blog.csdn.net/u011474028/article/details/54973571 简单的说,phar就是php的压缩文件,它可以把多个文件归档到同一个文件中,而且不经过解压就能被 php 访问并执行,与file:// ,php://等类似,也是一种流包装器. phar结构由 4 部分组成 stubphar 文件标识,格式为 xxx<?php xxx; __HALT_COMPILER();?>: manifest压缩文件的属性等信…
目录 刷题记录:[CISCN2019 华北赛区 Day2 Web1]Hack World 一.前言 二.正文 1.解题过程 2.解题方法 刷题记录:[CISCN2019 华北赛区 Day2 Web1]Hack World 一.前言 离国赛已经过去好久了,到现在才看复现,这道题当时做的时候没有什么头绪,现在来看答案发现其实没有很难,就是经验还不足 二.正文 题目复现链接:https://buuoj.cn/challenges 参考链接:ciscn2019华北赛区半决赛day2_web1题解 1.解…
id=0 id=1 id=2 id=3 发现结果不一样,尝试 : ">4","=4","<4" : 在自己的环境下验证一下: 爆一下数据库: id=(ascii(substr(database(),1,1))>32) ''' @Modify Time @Author ------------ ------- 2019/10/25 19:28 laoalo ''' import requests from lxml import…
刚比赛完的一段时间期末考试云集,没有时间复现题目.趁着假期,争取多复现几道题. 复现平台 buuoj.cn 解题过程 首先进入题目页面 看起来没有什么特别的,就是一个可以提交信息的页面.查看响应报文也没有什么提示,但是在网页注释里有东西. <!--?file=?--> 这里可能有一个文件包含,尝试payload http://xxx.xxx/index.php?file=php://filter/convert.base64-encode/resource=index.php 结果得到了当前页…
感谢buuoj的大佬们搭建的复现环境.作为一位CTF的初学者,我会把每个题目的writeup都写的尽量详细,希望能帮到后面的初学者. http://web42.buuoj.cn 文章会不定时继续完善,完善内容可能包括分析的错误.语病和文章结构等. 复现过程 进入解题页面发现需要登录,这里只需要注册一个账号然后登录即可. 登录以后是一个网盘的页面,最开始只有上传功能,并且只能上传png,jpg等图片格式. 随便上传一个符合要求的文件,发现可以对其进行下载和删除.通过抓下载的包发现,该处存在一个任意…
比赛结束以后采用非官方复现平台做的题,和比赛题有轻微不同,比赛中存放flag的table是ctf,这里是flag. 题目地址 buuoj.cn 解题过程 题目中只有一个页面,需要提交id. id为1,2时,可以分别得到一句话.id为0时,显示error,可能是因为结果为空集. id=1 Hello, glzjin wants a girlfriend. id=2 Do you want to be my girlfriend? id提交为单引号返回false,填入空格会直接显示SQL Injec…
知识点:题目已经告知列名和表明为flag,接下来利用ascii和substr函数即可进行bool盲注 eg: id=(ascii(substr((select(flag)from(flag)),1,1))<128) 0x01 看了网上的源码发现: <?php $dbuser='root'; $dbpass='root'; function safe($sql){ #被过滤的内容 函数基本没过滤 $blackList = array(' ','||','#','-',';','&','+…
补一下这道题,顺便发篇博客 不知道今年国赛是什么时候,菜鸡还是来刷刷题好了 0X01 考点 SQL注入.盲注.数字型 0X02自己尝试 尝试输入1 赵师傅需要女朋友吗???随便都能有好吧 输入2 ???黑人问号 输入3 提交空 输入union都被过滤.... 每次sql注入就很迷茫,然后fuzz测试一把... 发现好多都被过滤了 后来找到赵师傅的视频看了一下 有写 :通过1^1^1这个知识点绕过 1^(if((ascii(substr((select(flag)from(flag)),1,1))…
解题思路 打开发现是很简单的页面,告诉了表名和列名,只需知道字段即可 尝试一下,输入1,2都有内容,后面无内容.输入1'让他报错,发现返回bool(false) 大概思路就是布尔型注入了,通过不断返回正确值,猜测对应字段 fuzz 通过fuzz发现,482长度的被禁了,472长度的可以使用,也就是说禁用了空格,union,or,and等 那就有点难办了,联合注入被禁,报错注入被禁 首先我们先不看过滤,应该选择的sql语句位为 select ascii(substr((select flag fr…
打开题目, 我们开始尝试注入, 输入0回显Error Occured When Fetch Result. 输入1回显Hello, glzjin wants a girlfriend. 输入2回显Do you want to be my girlfriend? 输入大于2的数回显:Error Occured When Fetch Result. 但是有趣的是,我们输入1/1结果回显了Hello, glzjin wants a girlfriend. 于是我们判断它是数字型注入 然后我们继续测试,…
记一道布尔注入的题,存在过滤字符. 从题目看应该是一道注入题.提示存在flag表flag列. 输入1和2的返回结果不一样,可能是布尔注入. 简单用万能密码尝试了一下.提示SQL Injection Checked.显然是存在过滤的.FUZZ测试: 好像并没有过滤掉很多的东西.ascii和substr都存在,但是空格被过滤了. 绕过空格的方法: 1.注释绕过 /**/ /*!*/ 2.括号绕过 3.HTML编码绕过 常用的URL编码中,会把空格编码成%20,所以通过浏览器发包,进行的URL编码中,…
目录 刷题记录:[CISCN2019 东北赛区 Day2 Web3]Point System 知识点 1.padding-oracle attack 2.cbc字节翻转攻击 3.FFMpeg文件读取漏洞 总结 刷题记录:[CISCN2019 东北赛区 Day2 Web3]Point System 题目复现链接:https://buuoj.cn/challenges 参考链接:CISCN 2019 东北赛区 Day2 Web3 WriteUp Padding Oracle Attack 拖了一个星…
这是我自己对于sql注入的部分ctf题型的归纳,均来自buuctf的平台环境. [0CTF 2016]piapiapia 我尝试了几种payload,发现有两种情况. 第一种:Invalid user name 第二种:Invalid user name or password 第一步想到的是盲注或者报错,因为fuzz一波有一些是没有过滤掉的. 对于后台的拦截我想到的可能是黑名单或者是正则表达式匹配. 先不管,用字典扫一遍扫到源码直接下载下来. 每个文件都看了一遍发现root的username是…
平台地址:https://buuoj.cn/  里面很多之前的题目,不错的平台.另外幕后大哥博客https://www.zhaoj.in/     以下的解题,都是参考各位大佬的WP去复现,重在记录下解题思路 以及了解一些常规姿势. [CISCN2019 华北赛区 Day2 Web1]Hack World 题目是这样的 已经知道了表名和,列名,只需要想办法读取里面的内容就行了. 过滤了一些字符,绕过就行了.这里通过BP抓包FUZZ一波,还有手工判断,这里有一些BP fuzz使用的payload:…
[CISCN2019 华北赛区 Day1 Web1]Dropbox 打开题目,一个登录界面,SQL? sqlmap跑一下,没有注入,那么注册一下 登录之后,发现只有一个上传页面,源码里面也没有什么 那就上传看看吧,只能上传图片格式的 上传一个试试 上传之后,发现有下载和删除选项,下载抓包看看. 在下载文件存在任意文件下载漏洞 在index.php里面看到包含了文件class.php,然后在下载其他文件,不过没有flag.php或者flag.txt 那么就代码审计 download.php,简单的…
[强网杯 2019]随便注 先尝试普通的注入 发现注入成功了,接下来走流程的时候碰到了问题 发现过滤了select和where这个两个最重要的查询语句,不过其他的过滤很奇怪,为什么要过滤update,delete,insert这些sql语句呢? 原来这题需要用到堆叠注入: 在SQL中,分号(;)是用来表示一条sql语句的结束.试想一下我们在 ; 结束一个sql语句后继续构造下一条语句,会不会一起执行?因此这个想法也就造就了堆叠注入,而堆叠注入可以执行任意sql语句 这下就好理解了,过滤上面那些语…