PDA

View Full Version : !database problem



بمب منطقی
شنبه 22 مهر 1391, 10:03 صبح
سلام دوستان

من وب سايتي رو به يک برنامه نويس PHP پدر بيامرز! سفارش داده بودم که بعد از تحويل اون ديگه موبايلش رو خاموش کرد و ديگه هم پيداش نکردم!
و مسئوليت پابليش سايت روي هاست شد به عهده خودم.من هم برنامه نويس asp.net هستم! بعدي کلي مکافات ديتابيس رو از روي فايل database.sql و با استفاده از phpmyadmin پنل directadmin هاست import کردم و سايت رو هم تمام مشکلاتش رو حل کردم. تنها مشکلي که مونده اينه که directadmin نام databse و username شامل کراکتر _ رو قبول نداره در صورتي که نام بانک در حالت لوکال شامل کراکتر _ بوده و نام username و پسوورد رو هم نميتونم مابين فايلهاي دايرکتوري وبسايتم پيدا کنم! حالا مشکل اينجاست که چطور بايد نام ديتابيس و يوزرنيم جديدي رو که تو directadmin ايجاد کردم و ديتابيس رو توش import کردم، به نرم افزار وب سايت هم معرفي کنم.
در Asp.net اينکار مي تونست با ايجاد کانکشن استرينگ در فايل web.config صورت بگيره وبعد از تحقيق فهميدم اينکار در php در فايل config.php صورت ميگيره ولي مابين فايلهاي وب سايت من يکچنين فايلي وجود ندارد.بعد از تحقيق مجدد متوجه شدم ممکنه برنامه نويس براي امنيت بياد نام اين فايل رو عوض کنه پس من اومدم کلماتي مثل mysql_connect و db_name$ رو بصورت parse in the file تو دايکتوري وب سايت جستجو زدم و چيزي باز پيدا نکردم!
از اين جهت مزاحم شما اساتيد بخش php شدم تا منو راهنمايي بفرمائيد.از شما پيشاپيش متشکرم.

plague
شنبه 22 مهر 1391, 10:23 صبح
شاید از Mysqli استفاده میکنه در اینصورت باید دنبال mysqli_connect بگردین ! یا با استفاده از بسته ها و روش های مختلفی که میتونه کد ها رو تغییر بده مثلا شاید از فریم ورک استفاده میکنه !
من پیشنهاد میکنم اسم دیتابیس قدیمتون رو سرچ کنید توی کد ها چون بالاخره هرجوری کدنوشته باشه اسم دیتابیس ثابت و مشخصه و توی کدها در قیمت کانکت یا تنظیمات کانکت هستش

بمب منطقی
شنبه 22 مهر 1391, 10:54 صبح
در فايل database.sql به صورت remember قيد شده که نام ديتابيس فلانه (الان يادم نيست) همونو هم سرچ زدم باز چيزي نبود! اتفاقا دنبال mysqli_connect هم گشتم باز هيچي! يکي بهم گفت که شايد محتويات فايل شامل رشته اتصال رو رمزنگاري کرده! ممکنه؟و اينکه ممکنه پسوند فايل هم php نباشه؟ (شد دوتا سوال!!)
يه جستجويي دوباره تو دايرکتوري سايت زدم و به اين فايل ها رسيدم :
conector.php و conector.py و conector.cgi و connector.cfm و conector.asp و conector.aspx و conector.lasso
در ضمن در سايت از fckeditor هم استفاده شده که تعدادي از اين فايلها بنظر ميرسن مال اون هستن و يه تعدادي هم توش کلماتي همچون server_path و file_path شده بود.ولي اين وسط تنها فايل connector.php رمز نگاري شده بود!
چه نظري داريد؟لطفا راهنمايي بفرمائيد

plague
شنبه 22 مهر 1391, 11:43 صبح
نه اونا ماله ادیتور هستن .
معمولا کسی کد نگاری نمیکنه رشته اتصال به دیتابیس رو
فرمت هم ممکنه غیر php باشه ولی معمولا کسی اینکارو نمکینه
من فکر میکنم شما درست سرچ نمیکنی وگرنه یافتنش نباید سخت باشه
حداقل نمیدونید از چه فریم ورکی استفاده کرده ؟
آیا برنامه نویسی شی گرا بوده ؟
با چی سرچ میکنی اصلا ؟

بمب منطقی
شنبه 22 مهر 1391, 12:06 عصر
از شي گرائيش اطلاعاي ندارم از search خود ويندوز استفاده ميکنم.ولي در نام فايل سرچ نميزنم،در داخل فايلها جستجو ميزنم (parse in the file)
از وقتي که ميزاريد خيلي ممنونم

بمب منطقی
شنبه 22 مهر 1391, 12:08 عصر
اين فايل در root دايرکتوري سايت ميشه يا هرجايي ميتونه قرار بگيره!؟

بمب منطقی
شنبه 22 مهر 1391, 12:21 عصر
فايلهاي php سايت رو که با ++Notpad باز ميکنم خيلي جاها با دستورات encode‌شده اي روبرو ميشم.که همشون داخل يک چنين تگ و تابعي قرار دارند:

<? eval(gzinflate(base64_decode(' کراکترهاي کد شده چند ده سطري '))); ?>
و خيلي از صفحات php سايت رو که با notpad++ باز ميکنم اکثرا انتهاي صفحه به شکل تصوير زير کدينگ شده!!
93920

Unique
شنبه 22 مهر 1391, 12:26 عصر
عجب آدمایی پیدا میشن ! از اونجا که میگین برنامه نویس asp .net هستین من مطمئن میشم که فایل ها را خوب جستجو کردین! اگه با جستجوی نام database توی فایل ها به موردی نرسیدین احتمال زیاد اونها را کد کردن ! شما یا باید کد را باز کنین که بچه های اینجا بعضی هاشون توی این زمینه واقعا استاد هستند ولی بنده زیاد آشنایی ندارم ، میتونید بگذارین بچه ها decode کنند و بعدش اونها را عوض کنین و دوباره کد کنین سر جاش! (معلوم میشه با چی این کار را انجام داده)

ولی در غیر این صورت :
برای ایجاد database با نام مورد نظر شامل هر کاراکتری که میخواین یه ticket به هاست بزنید و ازشون بخواین این database را با نام مورد نظر شما ایجاد کنند برای بدست اوردن نام کاربری که خیلی ساده هستش و اگه display_errors را با دستور ini_set('display_errors', '1'); در ابتدای یکی از فایل هایی که با database کار میکنه قرار بدین اسکریپت شما توی خطای mysql_connect نام کاربری را نشون میده ! اما در مورد پسور قضیه فرق میکنه و hash شده و برگشت ناپذیره ! اما اگه سایت را offline دارین ، میتونید سایت را روی local کامل راه اندازی کنید بعدش یک port sniffer (توی گوگل بگریدن خیلی زیاده) بگذارین port 3306 را براتون چک کنه ! حالا سایت را راه بندازین و پسورد را توی برنامه ببینین !

Unique
شنبه 22 مهر 1391, 12:29 عصر
با توجه به پست آخرتون اگه محتویات هر فایل را با تابع gzinflate(base64_decode(file_contents)) بگردونید میتونید اصل اونها را ببینید!

بمب منطقی
شنبه 22 مهر 1391, 12:52 عصر
برای ایجاد database با نام مورد نظر شامل هر کاراکتری که میخواین یه ticket به هاست بزنید و ازشون بخواین این database را با نام مورد نظر شما ایجاد کنن
اين مورد نميشه .چون باهاشون صحبت کردم و گفت براي اينکار بايد نام دامينت رو هم عوض کنيم! راست ميگن.حالا توضيحش مفصله

يه سر نخ پيدا کردم.بالاي صفحات encode شده اينو remember کرده:

print "<p>This file was encoded by the <a href=\"http://www.zend.com/store/products/zend-encoder.php\">Zend Encoder</a> / <a href=\"http://www.zend.com/store/products/zend-safeguard-suite.php\">Zend SafeGuard Suite</a></p>\n";
اين zendencoder چيه؟ decoder ش رو از کجا پيدا کنم؟ پوليه؟

بمب منطقی
شنبه 22 مهر 1391, 12:53 عصر
تو سايتش که زده پوليه!!

بمب منطقی
شنبه 22 مهر 1391, 13:02 عصر
برای بدست اوردن نام کاربری که خیلی ساده هستش و اگه display_errors را با دستور
ini_set('display_errors', '1');
در ابتدای یکی از فایل هایی که با database کار میکنه قرار بدین اسکریپت شما توی خطای mysql_connect نام کاربری را نشون میده !

خوشبختانه يک صفحه شامل عمليات پايگاه داده اي که encode هم نشده پيدا کردم ولي دستور شما جواب نداد و فقط نشون ميده database error.دستور شما رو دقيقا بعد از php?> نوشتم


<?php
ini_set('display_errors', '1');
.
.
.

بمب منطقی
شنبه 22 مهر 1391, 13:05 عصر
اما اگه سایت را offline دارین ، میتونید سایت را روی local کامل راه اندازی کنید بعدش یک port sniffer (توی گوگل بگریدن خیلی زیاده) بگذارین port 3306 را براتون چک کنه ! حالا سایت را راه بندازین و پسورد را توی برنامه ببینین !
از راهنماييتون خيلي ممنونم و ترجيح ميدم فعلا يک چنين راه کار هاي حرفه اي رو انجام ندم.ولي اگه مجبور شدم سراغشون ميرم.و حتما پيش زمينش نصب wamp (سيستم عاملم ويندوزه) به همراه netbeans يا php designer يا امثالهم هست که تا حالا طرفشون نرفتم.اميدوارم به اونجاها نکشه!!

بمب منطقی
شنبه 22 مهر 1391, 15:36 عصر
خوب iis ام رو از روي سيستم پاک کردم.wamp رو نصب کردم و در ادامش ZendOptimizer-3.3.0a اي رو که تو اينترنت پيدا کرده بودمش رو طبق دستور نصب کردم.کل پوشه ها و فايلهاي موجود در دايرکتوري وب سايتم رو ريختم تو پوشه c:\wamp\www وليZend optimizer نتونست فايل هاي encode شده رو بهم نشون بده؟ روش کار همينطوره؟ يا شايد من بلد نشدم محتويات فايلهاي php رو مشاهده کنم!؟
کسي با zend optimizer کارکرده؟

بمب منطقی
شنبه 22 مهر 1391, 15:46 عصر
اما اگه سایت را offline دارین ، میتونید سایت را روی local کامل راه اندازی کنید بعدش یک port sniffer (توی گوگل بگریدن خیلی زیاده) بگذارین port 3306 را براتون چک کنه ! حالا سایت را راه بندازین و پسورد را توی برنامه ببینین !
فکرکنم براي پيدا کردن پسوورد بايد کاري که شما گفتيد رو انجام بدم؟
اين نرم افزار خوبه؟ Faltron Port Sniffer 1.0 (http://www.softpedia.com/get/Network-Tools/Protocol-Analyzers-Sniffers/Faltron-Port-Sniffer.shtml)

Unique
یک شنبه 23 مهر 1391, 01:22 صبح
نمیدونم چرا دوستانی که با encoder ها کار کردند جواب شما را نمیدن و احتمالا به سایت سر نزدن !

در مورد Zend Encoder میتونید فایل هاتون را بدین به این سایت شاید جواب گرفتین :http://www.showmycode.com/
یه برنامه هم هست به نام deZender این لینک (http://www.mediafire.com/?92bhb17na6z1vub) را پیدا کردم. شاید کمکتون کنه اما خودم تا حالا باهاش کار نکردم.

در مورد port sniffer ها هم نرم افزار های زیادی هستند که من نرم افزار بخصوصی مد نظرم نیست و باید چند تایی را امتحان کنید.

بمب منطقی
یک شنبه 23 مهر 1391, 08:16 صبح
از کاربران unique و plague بخاطر وقتي که براي من در نظر گرفتند متشکرم. راهنمايي هاتون راهگشا بود.ولي هنوز به جواب نرسيدم.باز ممنون و منتظر نظر دوستان و اساتيد هستم

بمب منطقی
یک شنبه 23 مهر 1391, 13:02 عصر
با اين لينک مشکل حل شد:

در مورد Zend Encoder میتونید فایل هاتون را بدین به این سایت شاید جواب گرفتین :http://www.showmycode.com/
و صفحات کد شده سايت دکد شدن و نام فايل مربوطه و ديتابيس و يوزر وپسوورد رو پيدا کردم.خيلي خيلي خيلي خيلي خيلي از زحمتي که کشيديد ممنونم.انشاله هميشه توزندگيتون موفق باشيد.درضمن از php هم خوشم اومده و احتمالا طرفش بيام و افتخاريه برام.
بازم ممنون

Unique
دوشنبه 24 مهر 1391, 01:02 صبح
درضمن از php هم خوشم اومده و احتمالا طرفش بيام و افتخاريه برام.

من بعد از زمان زیادی کار با asp .net به سمت php کشیده شدم و به هیچ وجه حاضر نیستم پروژه جدیدی را با ASP .net شروع کنم !