ugrás a tartalomhoz

phpshell

szabo.b.gabor · 2013. Május. 9. (Cs), 21.50
Történt, hogy láma voltam. nagyon. szar rájönni, hogy a szervered ssh hozzáférését buktad.. ftp maradt és php futtatás. aztán sikerült kiizzadnunk a dolgot, de közben csináltam egy olyan helyes kis dolgot, amit csak meg kell osszak.
<?php
header('Content-Type: text/html; charset=utf-8');

if (!isset($_SERVER['PHP_AUTH_USER']) || $_SERVER['PHP_AUTH_USER']!='user' || $_SERVER['PHP_AUTH_PW']!='password') {
	header('WWW-Authenticate: Basic realm="Hello admin"');
	header('HTTP/1.0 401 Unauthorized');
	echo 'Nincs jogosultsaga az oldal megtekintesehez.';
	exit;
}

if(isset($_POST['command'])){
	echo '<pre>',(htmlspecialchars(shell_exec($_POST['command']))),'</pre>';
	die();
}
?>

<html>
<body>
	<form id="hack" method="get">
		<input name="command" type="text" style="width:500px;" class="command" />
		<input type="submit" value="go" />
	</form>
	<div class="log"></div>
<script type="text/javascript" src="/js/jquery-1.9.1.min.js">
</script>
<script type="text/javascript">
$(function(){
	var commands=[],i=null;
	$('#hack').on('submit',function(e){
		e.preventDefault();
		var $form=$(this),$input=$form.find('.command'),command=$input.val(),$log=$('.log');
		$log.prepend(command+'<br />---<br />');
		$input.val('');
		i=null;commands.unshift(command);
		$.ajax({
			method:'POST',
			dataType:'html',
			data:{command:command},
			success:function(res){
				$log.prepend(res+'<br />');
			}
		});
	});
	$('#hack .command').on('keydown',function(e){
		//console.log(e);
		if(commands.length){
			if(e.keyCode==38){
				e.preventDefault();
				var $input=$(this);

				i = i === null || i >= commands.length-1 ? 0 : i+1;
				$input.val(commands[i]);
			}else if(e.keyCode==40){
				e.preventDefault();
				var $input=$(this);

				i = i === null || i <= 0 ? commands.length-1 : i-1;
				$input.val(commands[i]);
			}
		}
	});
});
</script>
</body>
</html>
Lehetne még belerakni working dir váltást, de azt már nem én fogom megcsinálni. Szóval a lényeg annyi, hogy mókás dolgokat lehet csinálni..
 
1

Vannak erre mindenféle kész

tgr · 2013. Május. 10. (P), 09.18
Vannak erre mindenféle kész opensource könyvtárak, pl. phpshell.sourceforge.net
Mondjuk szerintem vészhelyzeteket kivéve extrém rossz ötlet ilyet használni, keress olyan szolgáltatót, aki normális SSH hozzáférést biztosít.