Neuron_Break.zip
神经网络欺骗
第0~3张很容易加两三个点就行,第4张加点已经搞不定了,找到了一个脚本加载了题目提供的模型,改了改参数跑出来了,剩下三张搞不下去了。。
给一个wp:
https://github.com/wonrzrzeczny/CTF-writeups/tree/master/0ctf%202019/Neuron%20Break
解法是先定一个变形的目标,随机改一个像素值的RGB的其中一个,目的是使图片与变形目标的相似度越来越高,相似度比之前高就保留修改,直到相似度大于0.5
安装了Imagick,但是这个版本不存在RCE。
backdoor=echo base64_encode(file_get_contents('index.php'));
读出index.php
<?php
$dir = "/tmp/" . md5("$_SERVER[REMOTE_ADDR]");
mkdir($dir);
ini_set('open_basedir', '/var/www/html:' . $dir);
?>
<!DOCTYPE html><html><head><style>.pre {word-break: break-all;max-width: 500px;white-space: pre-wrap;}</style></head><body>
<pre class="pre"><code>Imagick is a awesome library for hackers to break `disable_functions`.
So I installed php-imagick in the server, opened a `backdoor` for you.
Let's try to execute `/readflag` to get the flag.
Open basedir: <?php echo ini_get('open_basedir');?>
<?php eval($_POST["backdoor"]);?>
Hint: eval($_POST["backdoor"]);
</code></pre></body>
题目能写的目录在$dir="/tmp/'.md5($_SERVER['REMOTE_ADDR']);
当时找到了一篇文章:
https://www.freebuf.com/articles/web/192052.html
可以通过设置LD_PRELOAD
环境变量加载动态库文件绕过disable_functions
,
但还需要一个能启动新进程的函数,文章中用来mail
,但是disable_functions
里禁止了,然后我就疯狂找新的函数,但还是找不着...(其实这是另一个解法,用函数error
题目是多项式版本的RSA,定义了在多项式环上的大整数操作。只要可以分解多项式,就可以找出解密因子。用sage可以很简单地分解给定的多项式N,设得到的两个多项式的次数是p、q,根据论文Polynomial based RSA,解密因子可以定义为:,其中
from os import urandom
P = PolynomialRing(GF(2), 'x')
e = 31337
n = P('x^2048 + x^2046 + x^2043 + x^2040 + x^2036 + x^2035 + x^2034 + x^2033 + x^2031 + x^2029 + x^2025 + x^2024 + x^2022 + x^2019 + x^2018 + x^2017 + x^2012 + x^2007 + x^2006 + x^2004 + x^2000 + x^1999 + x^1998 + x^1997 + x^1993 + x^1992 + x^1991 + x^1986 + x^1982 + x^1981 + x^1979 + x^1978 + x^1977 + x^1975 + x^1970 + x^1964 + x^1963 + x^1962 + x^1961 + x^1960 + x^1959 + x^1958 + x^1955 + x^1954 + x^1952 + x^1951 + x^1949 + x^1947 + x^1942 + x^1939 + x^1938 + x^1936 + x^1934 + x^1933 + x^1932 + x^1930 + x^1928 + x^1927 + x^1923 + x^1922 + x^1919 + x^1918 + x^1915 + x^1914 + x