![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
CTF学习
菜鸡的ctf学习之旅
So4ms
学网安的菜狗,
个人主页so4ms.top
展开
-
new bugku(CTF_论剑场)MISC 损坏的图片
做题时做到一道杂项题,感觉还挺有意思的,就此记录一下。下载得到一张图片,打开后提示文件损坏了。将图片丢进winhex里面查看,确实文件头格式不太对(可参见png文件格式的详解)。先尝试添加其文件头内容,发现还是不行。再次观察,发现文件头的内容刚好和正常文件的结尾12个字符顺序相反,文件头:82 60 42 AE 44 4E 45 49 00 00 00 00 正常 :00 00 00 00 49 45 4E 44 AE 42 60 82然后我们翻到图片底部,发现正好是文件头反过来。于原创 2020-08-07 16:13:28 · 6734 阅读 · 0 评论 -
文件上传练习 —— upload-labs靶场(三)
0X00文件上传练习 —— upload-labs靶场(一)文件上传练习 —— upload-labs靶场(二)0X01 Pass-15第十五关还是一样要求上传图片马这一关会使用getimagesize()来检查是否为图片文件。getimagesize() 函数用于获取图像大小及相关信息,成功返回一个数组,失败则返回 FALSE 并产生一条 E_WARNING 级的错误信息。array getimagesize ( string $filename [, array &$imagein原创 2020-07-29 15:29:16 · 647 阅读 · 0 评论 -
文件上传练习 —— upload-labs靶场(二)
0X00文件上传练习 —— upload-labs靶场(一)0X01 Pass-8第八关禁止上传所有可以解析的后缀我们可以利用Windows系统的文件名特性。文件名最后增加点和空格,写成shell.php. ,上传后保存在Windows系统上的文件名最后的一个.会被去掉,实际上保存的文件名就是shell.php。成功上传。0X02 Pass-9第九关又ban了一堆后缀名查阅资料得知,这关可以利用Windows文件流特性绕过,文件名改成shell.php::$DATA,上传成功后保存的文原创 2020-07-28 10:50:55 · 420 阅读 · 0 评论 -
文件上传练习 —— upload-labs靶场(一)
0X00 靶场准备靶场项目地址:https://github.com/c0ny1/upload-labs下载解压放在PHPstudy的www目录下即可注意靶机的病毒防护要关了,不然一直上传失败0X01 Pass-1上传一个webshell到服务器,选择一个PHP一句话木马文件,上传提示我们该文件类型不允许上传,应该是前端对文件类型进行了验证。检查源码,发现表单提交时会触发checkFile函数,然后对我们的文件后缀名进行检查。对于前端验证,我们有多种方法可进行绕过:①禁用浏览器Jav原创 2020-07-27 20:35:20 · 1325 阅读 · 0 评论 -
攻防世界 - misc部分
0X00.pdf下载得到一个PDF文件,打开是一张图片观察了一下没发现什么异样,尝试Ctrl+a选择全部,发现中间有处阴影将其复制下来粘贴,得到flag。0X01. give_you_flag下载附件得到一张图片,打开后是一张动图,观察了一遍,发现在最后的时候会有一个一闪而过的二维码,于是将其拖入PS中因为二维码的三个角落的定位符缺失了,无法扫码,所以要先对其进行修补扫码得到flag。0X02. stegano下载附件得到一个PDF文件,满篇的文字,尝试查看文件属性没有什么有用信息原创 2020-07-25 21:16:24 · 326 阅读 · 0 评论 -
CTFHub -技能树 命令注入-无过滤
0X00 命令注入-无过滤进入页面后给出的源码,题目要求输入IP地址执行ping命令<?php$res = FALSE;if (isset($_GET['ip']) && $_GET['ip']) { $cmd = "ping -c 4 {$_GET['ip']}"; exec($cmd, $res);}?><!DOCTYPE html><html><head> <title>CTF原创 2020-07-24 11:56:06 · 2047 阅读 · 0 评论 -
CTFHub - 文件上传(一)无验证,前端验证
0X00 无验证这题是文件上传,无验证,也就是说不会对我们上传的文件进行检测过滤,于是可以直接上传一句话木马文件, <?php eval($_POST['password']);?>上传成功后使用蚁剑进行连接查看目录下的文件,找到flag_545955.php文件,打开得到flag。0X01 前端验证比起上一题,这题多了个前端验证,JavaScript会在前端验证用户上传的文件是否符合要求,在用户点击上传的时候会触发onsubmit事件,检测用户文件的后缀名。先尝试上传.p原创 2020-07-23 20:36:18 · 2593 阅读 · 0 评论 -
CTFHub -技能树(信息泄露,密码口令)
0X00 目录遍历这题进入后是这样的文件目录形式,结合题目,尝试查看文件夹内内容,或者是可以选择使用扫描器寻找文件。找到flag的txt文件,找到flag0X01 PHPINFO这题点击进入PHPINFO尝试CTRL+F搜索flag,直接找到了flag。0X02 备份文件下载-网站源码进去后提示我们网站备份源码可能的文件名和后缀,这里可以使用它提供的名字进行组合爆破,也可以使用工具进行扫描。在这我使用了御剑进行扫描,发现可疑目标,尝试访问www.zip,将文件下载下来打开发现带原创 2020-07-23 16:15:44 · 478 阅读 · 0 评论 -
CTFHub技能树:http协议 writeup
0X00 请求方式首先进去看见提示说http请求方式,使用CTFXXB方式,就可以得到flag。于是使用burp抓包,将请求头的GET改为CTFHUB,发送响应内容里面得到了flag。0X01 302跳转首先进去看见界面,结合标题,点击链接重定向回index.html。在这可以使用curl查看,curl 命令是支持请求重定向的,可以通过 -L 参数配置,直接得到flag。这题也可以使用burp抓包,发送得到flag。0X02 Cookie欺骗、认证、伪造第三题进去后,提示说只有原创 2020-07-22 17:25:37 · 655 阅读 · 0 评论 -
常见xss绕过——xss-lab练习(二)
0X00 level 6第六关通过几次试探,发现on、src、href几个关键词都被过滤了,但是这次没有过滤掉大小写,于是我们可以构造大小写混杂的payload即可。"><sCript>alert('1')</sCript>0X01 level 7第七关输入"><sCript>alert('1')</sCript>,发现大小写过滤了,然后script关键字被除去了,于是我们采用多重嵌套来进行绕过。输入"><scscriptrip原创 2020-07-11 15:05:25 · 330 阅读 · 0 评论 -
常见xss绕过——xss-lab练习
0X00网安菜鸡为了学习xss漏洞攻击,选择了xss game来进行一些xss攻击绕过的学习。0X01 level 1首先进来后观察到这样的页面:注意到url中的参数name,值为test,页面中出现了test,尝试修改name的值发现页面中内容改变,于是找到了输入输出的地方。首先将url栏处修改为?name=<script>alert('1')</script>,成功过关。0X02 level 2进来后发现有个输入框,尝试输入<script>aler原创 2020-07-10 21:12:55 · 536 阅读 · 1 评论 -
SQL注入学习记录 CTFHub SQL注入 布尔盲注
一、布尔盲注可以进行SQL注入,但是不能通过SQL注入漏洞看到数据库中的信息,但是可以通过回显的真假判断数据库中的信息。用到的函数:Length()函数 返回字符串的长度Substr()截取字符串,有三个参数,第一个是要截取的字符串,第二个是从第几个字符开始,第三个是一次截取多少个字符二、做题打开后还是熟悉的界面:我们先输入1:只是返回了一个query_success,没有回显其他内容。输入1'则返回了query_success。于是我们只能一个一个猜他的名称。我们可以通过leng原创 2020-05-27 22:41:50 · 1299 阅读 · 0 评论 -
SQL注入学习记录Pikachu漏洞练习平台 搜索型注入
一、搜索型注入简介与原理1)简介一些网站为了方便用户查找网站的资源,都对用户提供了搜索的功能,因为是搜索功能,往往是程序员在编写代码时都忽略了对其变量(参数)的过滤,而且这样的漏洞在国内的系统中普遍的存在:其中又分为POST/GET,GET型的一般是用在网站上的搜索,而POST则用在用户名的登录,可以从form表单的method="get"属性来区分是get还是post。搜索型注入又称为文本框注入。2)原理$sql="select * from user where password like '原创 2020-05-27 00:07:45 · 548 阅读 · 0 评论 -
SQL注入学习记录 CTFHub SQL注入 报错注入
报错注入报错注入在没法用union联合查询时用,但前提还是不能过滤一些关键的函数。报错注入就是利用了数据库的某些机制,人为地制造错误条件,使得查询结果能够出现在错误信息中。write up打开页面后还是熟悉的界面,输入1后提示我们查询正确:然后输入1':爆出了错误,并且将错误回显在了页面上,我们这里可以使用updatexml()报错注入来获取我们想要的信息。输入1 union select updatexml(1,concat(0x7e,database(),0x7e),1);,页面报错:原创 2020-05-25 21:48:25 · 795 阅读 · 1 评论 -
SQL注入学习记录 CTFHub SQL注入 字符型注入
打开页面后,可以看见界面和整数型注入长得差不多:先输入1,回显:然后输入1',得到:自动给我们加上了单引号,这也是和整数型注入的区别,字符型注入参数需要单引号来闭合,整数型不需要。这里如果接着想在后面输入语句的话,就要手动给参数加上单引号,然后将他加上的单引号注释掉。Mysql 有三种常用注释符:– 注意,这种注释符后边有一个空格# 通过#进行注释/* */ 注释掉符号内的内容于是我们输入1' and 1=1#,将1作为id的参数,用#将他自带的单引号注释掉,回显:然后通过orde原创 2020-05-25 18:33:01 · 993 阅读 · 2 评论 -
SQL注入学习记录 CTFHub SQL注入 整数型注入
首先进入界面可以看见这样:很明显输入框就是注入口,分别输入1,1 and 1=1,1 and 1=2后者返回值与前两者不同,说明存在注入点。然后通过order by x找出该数据表的字段数量,输入1 order by 1,1 order by 2,返回结果相同,输入1 order by 3返回结果不同,证明字段数为2。然后通过union注入,输入-1 union select 1,2,回显结果:说明在-1 union select 1,2中,2的位置可以输入MySQL语句。所以输入-1原创 2020-05-25 15:59:29 · 447 阅读 · 0 评论 -
HTTP协议学习笔记(一)菜鸡的学习之旅
一、TCP/IP协议族各层的作用1)应用层应用层决定了向用户提供应用服务时通信的活动。TCP/IP协议族内预存了各类通用的应用服务。比如,FTP (FileTransfer Protocol,文件传输协议)和DNS (Domain Name System,域名系统)服务就是其中两类。HTTP协议也处于该层。2)传输层传输层对上层应用层,提供处于网络连接中的两台计算机之间的数据传输...原创 2020-04-06 18:47:19 · 200 阅读 · 0 评论