问题标签 [ctf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
612 浏览

encryption - 使用 c^d mod n 解密 RSA

我试图从 RSA 代码中获取消息,但似乎无法理解。我试图用来查找消息的公式是:c^d mod n。在我收到的文本文件(这是 RSA 代码)中,我有 3 个参数:

c参数:

N参数:

和 d 参数:

现在的问题是数字太长了(308 位长,N 参数是 309 位长)。到目前为止,我找不到任何可以计算 c^d 的计算器。

有什么帮助吗?

0 投票
1 回答
499 浏览

c - 如何防止字符串读取 C 中的 CTF 标志

我在缓冲区溢出中创建一个简单的 CTF 下面是示例代码:

编译:gcc vuln.c -o vuln -fno-stack-protector -m32

但是,如果我们strings vuln直接显示实际标志,那么secretFunction当用户在二进制文件中输入字符串时,my 是不可见的。

0 投票
1 回答
283 浏览

java - 如何在地址为 46.XXX.XX.XX:8008/ 的页面中下载 java 小程序类文件

我正在处理 CTF 挑战,并且有一个挑战链接,看起来像这样:46.XXX.XX.XX:8008/
如果我在该页面中打开开发者工具,我可以找到一个带有属性代码的小程序值为“mPage.class”

通常我会更改网址并在末尾添加 mPage.class
例如,如果网址是: https
://website.com/file.shtml 我会在网址栏中输入: https ://website.com/mPage .class
我可以下载 mPage.class 文件
但由于 url 没有以“file.html”或类似的东西结尾。我做不到 46.XXX.XX.XX:8008/mPage.class

当我尝试访问http://46.XXX.XX.XX:8008/mPage.class时,我的浏览器告诉我找不到该网页。
我不知道我是否可以真正下载类文件。
因为要得到它,我应该这样做:
http://46.XXX.XX.XX:8008/../mPage.class
但它显然不起作用。由于我可以在页面中使用小程序,所以理论上我应该下载它。

如果您发现一些错误(例如拼写错误),请不要犹豫,警告我,抱歉英语不是我的母语。并感谢您的阅读。

0 投票
0 回答
178 浏览

assembly - 组装奇怪的输入?

我在解决 CTF 方面还很陌生,但我正在进步。但有一件事让我很沮丧。在这个 CTF 中,给出了 3 个输入。但是按照我的逻辑。有 4 个(我不要求 CTF 的提示,因为我已经通过将其用作 asm 函数并提供输入来解决它)但是按照我的逻辑,这应该像:

但事实上……它给出了正确的答案。不是错误。在我看来,输入是:

如果有人可以...请告诉我,如何弄清楚哪个指针是输入的,哪个不是。

0 投票
0 回答
73 浏览

c - 这段包含 system("/bin/ls") 的代码看起来牢不可破吗?

我正在做一些类似 ctf 的作业。就是让特权程序运行/bin/sh。没有源代码,仅适用于二进制汇编。

该程序通常通过"/bin/ls %s"(存储在 0x804868f)到带有 argv[1] 的 snprintf。所以 snprintf (@main+222) 的输出会像/bin/ls ~/. 然后将 " /bin/ls ~/" 传递给系统调用 (@main+236),如 system( /bin/ls ~/)。

该程序通过使用 strchr(例如 @main+85)过滤掉了一些 cmd 行符号,它们是&,|;.

所以我认为你不能让命令成为/bin/ls ;sh,因为它包含; , 例如。

我的问题是:这段代码似乎牢不可破吗?或者我们如何更改输入以使程序运行“sh”。

提前致谢。

(另外,我无权修改/bin/ls)

这是代码:

0 投票
1 回答
159 浏览

python - 需要 RSA 帮助、十六进制密文和字母表

我正在解决一个 CTF,我在其中获得了公钥、私钥和密文。挑战非常不对称。

我已经使用 RsaCTFTool 从私钥(如 n、e 等)中提取了信息。密文:

它显示错误。请帮帮我

0 投票
0 回答
82 浏览

elf - 如何从 .elf 文件中获取所有字符串?

我有一个文件VirusTotal(来自“Shadow CTF”竞赛之一),其中包含一些字符串。

我使用 IDA 来获取所有字符串,但我只得到“错误”字符串。我已经尝试过用十六进制编辑这个文件,但什么也没给出。

我是拆机的初学者。

0 投票
2 回答
230 浏览

php - 在 PHP 中使用 eval() 实现 __toString()

我正在寻找一种仅在 PHP 中使用 eval 来实现 __toString 方法的方法。最终目标是能够读取文件。请注意,这是 CTF 挑战的一部分,而不是真实世界的应用程序。

我得到了以下实现

由于 $var 在我的控制之下,我可以将 if 设置为任何我想要的。到目前为止,我已经尝试了以下但没有成功:

有什么提示吗?

更新:相关代码如下:

0 投票
2 回答
312 浏览

security - 如何使用公钥和私钥解码 rsa

我有这个公钥和私钥,我该如何解码?

非常感谢您。

-----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCl0NyHA+z9w6LiYURla4UCcedc 2SpsS4SnVGdSSEHTMsc9NbMX2fVPX9q8yyYBMypvBYnVLc7gNozr3bziLLhOGWjv Dh3zaC3/Q4wu6Osroo9Af9PoHr1riEve8ioz058mPP28TGOBb/oYa5TaeYw4GGMc mqvZMrRlGhPZIOsePQIDAQAB -----END PUBLIC KEY-----

-----开始 RSA 私有KEY----- MIICXAIBAAKBgQCl0NyHA+z9w6LiYURla4UCcedc2SpsS4SnVGdSSEHTMsc9NbMX 2fVPX9q8yyYBMypvBYnVLc7gNozr3bziLLhOGWjvDh3zaC3/Q4wu6Osroo9Af9Po Hr1riEve8ioz058mPP28TGOBb/oYa5TaeYw4GGMcmqvZMrRlGhPZIOsePQIDAQAB AoGAF74YVZzSSmPA5vlWec8zdG4q2ridwnPtwqfrQ3TlOACFVtZhloC3B26KO447 GuDgqpT4b3XnsWMeOoe9jAUrPohy0ISiYYvp0h+KHjFUFt9XH9d3hlm0VqRCExNA rG3sXXuoSmyyGIin/7l4pFJuFCyDLESQQ4zJGCicMiCpWAECQQDcM0eDTL0t/web 5XfOw5LUJLgNlAQyWmncojVB4QbT0XixZD/UBKlPyt2lwbSncRmSW7TJzb+epdHf FKCEfub9AkEAwMYbAh4VUal0q+aBGheo3N/4cZy0GC4unM15F9lxkOn06RGSmFQ5 0ulhlH3f5h5uVIFh7jT1Nk27H2EjTxHYQQJAMoDUWwnjrcP7Q8cqZlK2v084o2ya Vc4kz4SogFaTEUvOyai7du4mwvU9RsIZo/mtqsK7wTkeRM21R9vcQOc2JQJAQWf1 6fYDDb4NE/YVf6DfbnGffgzJHhstPY6Js4nXem+m5R1NO9n39JOyxAshWJaioJF1 hLj7Kf2dq7vtmvpXAQJBANAYjUpCT8cYA5XpbmeMHTw3XGuF1N2wBpfu5BNsN8Nh l0NZkzFHNpempMYTr/1TnUaeAynlevfw6/mSK40YHrQ= -----结束 RSA 私有钥匙 - - -

0 投票
2 回答
235 浏览

php - 为什么“exit()”之后代码还在执行?

我正在做一个关于 PHP 中不安全的反序列化的 CTF 挑战。目标是通过将代码注入反序列化来打印标志以执行print_flag()函数。我怀疑网络服务器只打印脚本回显的最后一行,这会覆盖标志的输出,即使在调用exit().

提供了在网络服务器上运行的部分 php 代码。我已经在我自己的 php 脚本中实现了它,以找出哪些有效,哪些无效。我已经成功地序列化了一个在反序列化时执行代码的对象。通过调用exit(print_flag());标志打印,没有任何进一步的错误......至少在我的脚本中。当我将序列化对象发送到网络服务器时,它仍然会打印更多错误。

此外,我尝试从注入的代码中返回一个字符串。那也行不通。

该代码类似于挑战中显示的代码,但经过修改使其适用于我。

我希望代码只返回标志。在我自己的机器上执行脚本时,输出为:

O:8:"Example2":1:{s:14:"Example2 hook";s:19:"exit(print_flag());";} thisistheflag

当我没有调用它时exit()

PHP Recoverable fatal error: Method Example2::__toString() must return a string value in ../phpObjInj.php on line 39"

网络服务器返回:

可捕获的致命错误:方法 Example2::__toString() 必须在第 79 行的 /var/www/index.php 中返回字符串值

如何停止打印错误?