Türkiye'nin En Eski Webmaster Forumu İyinet'e Hoşgeldiniz!

Bu Kodlarda Açık Var Mı?

GameStaL

0
Onaylı Üye
Üye
Katılım
26 Nisan 2010
Mesajlar
142
Açılan Konu
27
Tepki puanı
0
Üyelik için kullandığım bu kodlar arasında hek amaçlı gizli bir kodlama yada üyelik açarken kod gönderme açığı var mı acaba uzman birisi kontrol edebilir mi ?
Ayrıca bu panelin öncesine ücretli email aktivasyon ve ileride şifre değiştirmek için gizli soru cevap bölümü ekletmek istiyorum..

Kod:
<?php
function GetServerStatus($site, $port)
{
$status = array("<span style='color:red'>OFFLINE</span><b>", "<b><span style='color:green'>ONLINE</span>");
$fp = @fsockopen($site, $port, $errno, $errstr, 2);
if (!$fp) {
    return $status[0];
} else
  { return $status[1];}
}
$site = "212.xx.xx.xxx";
$port = "80";
print "Server status: ";
print GetServerStatus($site, $port);
?> 


<?php
/* Simple registration page for silkroad server, by Chernobyl
 * Settings are at _inc/config.php
 * If you get an mssql connection error, while defining totally correct data
 * Just use older ntwdblib.dll for your webserver
*/
require_once('_inc/security.class.php');
require_once('_inc/config.php');

if(!isset($_POST['submit']))
    {
        echo "<table border='1'>
        <form method='post'>
        <td>Username</td><td><input type='text' name='username' maxlength='16'></td><tr/>
        <td>Password[1]</td><td><input type='password' name='pw1' maxlength='32'></td><tr/>
        <td>Password[2]</td><td><input type='password' name='pw2' maxlength='32'></td><tr/>
        <td></td><td><input type='submit' name='submit' value='Register'></td>
        </form>
                </table>";
    }
    else
    {
        if(strlen($_POST['username']) < 3) $msg[] = "Username too short";
        if(strlen($_POST['username']) > 16)$msg[] = "Username too long";
        if(strlen($_POST['pw1']) < 6) $msg[] = "Password [1] too short";
        if(strlen($_POST['pw1']) > 32)$msg[] = "Password [1] too long";
        if(strlen($_POST['pw2']) < 6) $msg[] = "Password [2] too short";
        if(strlen($_POST['pw']) > 32) $msg[] = "Password [2] too long";
        if($_POST['pw1'] != $_POST['pw2']) $msg[] = "Passwords are not the same";
        
            $sec = new security();
            
            if($sec->is_secure($_POST['username']) == false) $msg[] = "Username contains forbidden symbols";
            if($sec->is_secure($_POST['pw1']) == false) $msg[] = "Password [1] contains forbidden symbols";
            if($sec->is_secure($_POST['pw2']) == false) $msg[] = "Password [2] contains forbidden symbols";
            
            if(count($msg) > 0)
                {
                    for($i = 0; $i < count($msg); $i++)
                        {
                            echo $msg[$i]."<br/>";
                        }
                        return;
                }
                else
                    {
                        //checking damn mssql stuff
                        $accountExists = mssql_num_rows(mssql_query("select StrUserID from TB_User where StrUserID='$_POST[username]'"));
                            if($accountExists > 0) echo "Account with such username already exists<br/>";
                                else
                                {
                                    $pwd = md5($_POST['pw1']);
                                    mssql_query("insert into TB_User(StrUserID,password,sec_primary,sec_content) values('$_POST[username]','$pwd','3','3')");
                                        echo "Account successfully created<br/>";
                                }
                    }

    }
?>
 

cezasahasi

0
Onaylı Üye
Yasakli Uye
Katılım
18 Aralık 2011
Mesajlar
52
Açılan Konu
7
Tepki puanı
0
Başka bir yere kod yollamıyor ama bilgileri oluşturup bir yere yazmasını sağlıyor sanıtım başka hangi dosyalarla bağlantılı bu yane hazır sistemlerdeki içinden herhangi bir üye olma dosyası gibi bişeye benziyor
 

GameStaL

0
Onaylı Üye
Üye
Katılım
26 Nisan 2010
Mesajlar
142
Açılan Konu
27
Tepki puanı
0
Başka bir yere kod yollamıyor ama bilgileri oluşturup bir yere yazmasını sağlıyor sanıtım başka hangi dosyalarla bağlantılı bu yane hazır sistemlerdeki içinden herhangi bir üye olma dosyası gibi bişeye benziyor

evet sqlserver 2005 db ye yeni üyelik açıyor ancak ben burda üyelik yazarken kodla başka işler yapılabildiğini düşündüğüm için şüphelendim.. o yüzden sizlere soruyorum..
 

cezasahasi

0
Onaylı Üye
Yasakli Uye
Katılım
18 Aralık 2011
Mesajlar
52
Açılan Konu
7
Tepki puanı
0
Yane Dişa bir kod yazıldığına dair yönlendirme yok
 
Üst