2.8学习记录

web

flag直接读取不就行了?

代码审计:

php 复制代码
<?php
highlight_file('index.php');
# 我把flag藏在一个secret文件夹里面了,所以要学会遍历啊~
error_reporting(0);
$J1ng = $_POST['J'];
$Hong = $_POST['H'];
$Keng = $_GET['K'];
$Wang = $_GET['W'];
$dir = new $Keng($Wang);
foreach($dir as $f) {
    echo($f . '<br>');
}
echo new $J1ng($Hong);
?>

题目提示flag藏在secret文件夹里面,要学会遍历,先看明白四个参数是干什么的

K、W是通过POST方式请求并且是通过类的方式创建了一个对象dir

K:可以通过查询php文档找遍历的类。我找到的是DirectoryIterator这个类,所以K传入的就是这个类。

W:一般就先访问根目录 传入 "/"
根据提示 说flag在secret文件夹里面,所以就直接http://challenge.basectf.fun:29227/?K=DirectoryIterator\&W=/secret

可以找到flag文件;从KW中只能得到flag的路径,读取还是需要查询PHP中读取文件的类是什么。经查询可以得到是SplFileObject类。再通过传入刚刚得到的flag文件的路径可以读取flag文件。
得到flag的位置,在元素选项中找到flag

一起吃豆豆

这题很有意思,是吃豆人小游戏,做题的话直接看源码,想看源码发现右键和Ctrl+u,f12都被禁用了,在右上角找到开发人员模式,接着查看源代码发现这一串很可疑,用随波逐流一把梭看一下

easyupload2.0

文件上传题,先传个木马发现不给传,接着传个图片马试一试刚开始以为是路径就照着输进去,结果发现前面有个.说明不是路径。换个思路根据查询,可以用构建phtml的方法,先上传一个图片马,用bp抓包改后缀为.phtml

接着就可以蚁剑了

re

[HDCTF 2023]easy_re

先分析附件,查壳发现存在upx壳,用kali脱壳
用ida查看主调函数发现s字符串被一种a的加密方式加密了,顺着找下去找到密文发现是base64而且没有换表,用赛博大厨处理

misc

[NISACTF 2022]huaji?

这题有点恶心

拿到附件先用010看一下发现是一个jpg文件,再用随波逐流看一下

发现一堆隐藏文件,用binwalk分离出来得到的图片查看exif有点可疑的数据,结合得到的压缩包,感觉是密码,但是不对,用随波逐流看一下得到另一个密码,感觉应该是压缩包密码了确实

crypto

[LitCTF 2023]家人们!谁懂啊,RSA签到都不会

题目:是一个最基础的rsa

用自己的脚本库里的模版就可以解决了

python 复制代码
from Crypto.Util.number import *

# 已知的p、q和c
p = 12567387145159119014524309071236701639759988903138784984758783651292440613056150667165602473478042486784826835732833001151645545259394365039352263846276073
q = 12716692565364681652614824033831497167911028027478195947187437474380470205859949692107216740030921664273595734808349540612759651241456765149114895216695451
c = 108691165922055382844520116328228845767222921196922506468663428855093343772017986225285637996980678749662049989519029385165514816621011058462841314243727826941569954125384522233795629521155389745713798246071907492365062512521474965012924607857440577856404307124237116387085337087671914959900909379028727767057

# 计算n
n = p * q

# 计算欧拉函数phi(n)
phi = (p - 1) * (q - 1)

# 计算私钥d
e = 65537
d = inverse(e, phi)

# 解密密文c
m = pow(c, d, n)

# 将长整数转换回字节串
flag = long_to_bytes(m)

print("Flag:", flag.decode())
相关推荐
菜鸟‍6 分钟前
【前端学习】React学习【万字总结】
前端·学习·react.js
AA陈超17 分钟前
ASC学习笔记0019:返回给定游戏属性的当前值,如果未找到该属性则返回零。
c++·笔记·学习·游戏·ue5·虚幻引擎
知南x1 小时前
【STM32MP157 异核通信框架学习篇】(10)Linux下Remoteproc相关API (下)
linux·stm32·学习
Fantasydg10 小时前
Servlet学习
学习·servlet
雍凉明月夜10 小时前
Ⅰ人工智能学习的核心概念概述+线性回归(1)
人工智能·学习
2301_7833601311 小时前
R语言 | 带重要性相关热图和贡献图如何解释?如何绘制随机森林计算结果重要性及相关性图?[学习笔记]
学习·随机森林·r语言
潲爺11 小时前
Java IDEA学习之路:第九周课程笔记归纳
java·学习·intellij-idea
石像鬼₧魂石11 小时前
192.168.1.4(Windows 靶机)渗透测试练习全流程(详细步骤)
windows·学习
GLAB-Mary12 小时前
HCIE最优规划路线:如何系统性学习华为认证?
学习·华为·华为认证·hcie·数通
月下倩影时12 小时前
视觉学习——卷积与神经网络:从原理到应用(量大管饱)
人工智能·神经网络·学习