الموقع العربي الاول للعبة Silkroad Online

الموقع العربي الاول للعبة Silkroad Online (https://silkroad4arab.com/vb/index.php)
-   قسم الحماية والاوتوايفنت للسيرفرات الخاصه (https://silkroad4arab.com/vb/forumdisplay.php?f=323)
-   -   شرح كامل لغلق ثغرة SQL Inject at about guild (https://silkroad4arab.com/vb/showthread.php?t=606259)

Dev.Exorcism 22-10-2016 04:10 AM

رد: شرح كامل لغلق ثغرة SQL Inject at about guild
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Hamza FiGo (المشاركة 5282192)
متشكر علي المعلومات . انا فعلا بدات في السي شاري من فترة وطلع لذيذ جدا

حتي عملت اله حاسبة كدة وكنت فرحان بيها اوي :bleh: بس الفكرة انها عايزة وقت. شهر او شهرين متواصلين تبقي متمكن منه

صعب اوي شهر ولا شهرين عشان تتعلم لغه علي الاقل سنه متواصله عشان تجمع خبره كبيره و توصل لاقل كود يعمل امر انت عاوزه و كا اداء اسرع و اخف انا بدات بي فيجوال و عملت برنامج ال اسمه SuperJoke ده كان فيجوال بيسيك قبل ما اتعلم سي شارب اقدر اعمله دلوقتي احسن من فيجوال و بي اداء احسن من فيجوال و باكواد اقل انت لو شفت السورس هتولع فيه مكرر اكواك كذه مره مع اني ممكن اعملها من كود واحد و ميسحبش من رام و يبقا خفيف ربنا معاك :D و لو عزت حاجه انا موجود و لو عاوز تفهم حاجه في سورس سوبر مايك ممكن افهمهالك انا فهت نصه في حاجات لسه مش وصلالي

Dev.Exorcism 22-10-2016 06:58 AM

رد: شرح كامل لغلق ثغرة SQL Inject at about guild
 
Magico or Jayden معلس انا و بدور في سوري يوبر مايك لاقيت الباكت دي
pck.Opcode == 0x6103)
{
// Add
this.can_connect_yes = 1;
this.information = true;

// Some shit
UInt32 uint32_1 = _pck.ReadUInt32();
this.user_id = _pck.ReadAscii().ToLower();
this.user_pw = _pck.ReadAscii();
byte locale = _pck.ReadUInt8();
uint ukn1 = _pck.ReadUInt32();
uint ukn = _pck.ReadUInt16();

دي بتاعت ايه؟ و لوكل دي تبقا ابه؟ لاني لاحظت انه بيقفل ال third programs من user_id فهل هو في باكت معبن لكل برنامج third ولا ايه

Hamza FiGo 22-10-2016 05:35 PM

رد: شرح كامل لغلق ثغرة SQL Inject at about guild
 
دا الايرور اللي كنت بتكلم عنه

تقريبا من السطر دا لان دا اللاين 57 اللي بيتكلم عنه

كود PHP:

// Read SQL
 
FilterMain.DB bool.Parse(cfg.IniReadValue("GENERAL""ENABLE")); 

http://i.epvpimg.com/rpgBe.jpg

فضلت العب شوية وصلت لحد كدة

http://i.epvpimg.com/QlD5c.jpg

Jayden 22-10-2016 06:22 PM

رد: شرح كامل لغلق ثغرة SQL Inject at about guild
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Dev.Exorcism (المشاركة 5282199)
Magico or Jayden معلس انا و بدور في سوري يوبر مايك لاقيت الباكت دي
pck.Opcode == 0x6103)
{
// Add
this.can_connect_yes = 1;
this.information = true;

// Some shit
UInt32 uint32_1 = _pck.ReadUInt32();
this.user_id = _pck.ReadAscii().ToLower();
this.user_pw = _pck.ReadAscii();
byte locale = _pck.ReadUInt8();
uint ukn1 = _pck.ReadUInt32();
uint ukn = _pck.ReadUInt16();

دي بتاعت ايه؟ و لوكل دي تبقا ابه؟ لاني لاحظت انه بيقفل ال third programs من user_id فهل هو في باكت معبن لكل برنامج third ولا ايه

دى Packet ال Client Connection اللى بتدخل ال Character بيها

Jayden 22-10-2016 06:24 PM

رد: شرح كامل لغلق ثغرة SQL Inject at about guild
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Hamza FiGo (المشاركة 5282218)
دا الايرور اللي كنت بتكلم عنه

تقريبا من السطر دا لان دا اللاين 57 اللي بيتكلم عنه

كود PHP:

// Read SQL
 
FilterMain.DB bool.Parse(cfg.IniReadValue("GENERAL""ENABLE")); 

http://i.epvpimg.com/rpgBe.jpg

فضلت العب شوية وصلت لحد كدة

http://i.epvpimg.com/QlD5c.jpg

ده كده ال config اللى عندك مش مظبوطه
او مش موجودة فى مسارها
او مش موجوده اصلا :D

Hamza FiGo 22-10-2016 06:28 PM

رد: شرح كامل لغلق ثغرة SQL Inject at about guild
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Jayden (المشاركة 5282220)
ده كده ال config اللى عندك مش مظبوطه
او مش موجودة فى مسارها
او مش موجوده اصلا :D

ok

Dev.Exorcism 22-10-2016 09:31 PM

رد: شرح كامل لغلق ثغرة SQL Inject at about guild
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Jayden (المشاركة 5282219)
دى Packet ال Client Connection اللى بتدخل ال Character بيها

تمام يعني دول ايدي الاكونت و باسورد طب Locale ده يبقا ايه و لو عاوز اوقف برامج ال Third اعمل ايه معلش بتعبك

Jayden 23-10-2016 02:45 AM

رد: شرح كامل لغلق ثغرة SQL Inject at about guild
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Dev.Exorcism (المشاركة 5282229)
تمام يعني دول ايدي الاكونت و باسورد طب Locale ده يبقا ايه و لو عاوز اوقف برامج ال Third اعمل ايه معلش بتعبك

الLocal ده اللى هو 22
وبالنسبة لل Third
هتعمل List يتضاف فيها الناس اللى مش داخلين ب Parse طبيعى بتاع 0x6103
لان ال third بيدخلوا ب Local مختلف لو انا متزكر كويس كان 51
بمعنى هتحط معلومات ال 0x6103 وتعمل else حط فى ال List بس طبعا لازم تعمل continue ل6103 عشان ميدخلش ( ده لو انت هتمنع ال third )
وهتحتا تحط condition ياخد من ال config عشان تسيب الاختيار فى ايد اللى بيستخدم البرنامج طبعا
ودى المعلومات اللى هتحطها الاول

كود PHP:

if (locale == 51)
                                        {
                                            
Packet p = new Packet(0x6103true);
                                            
p.WriteUInt32(uint32_1);
                                            
p.WriteAscii(this.user_id);
                                            
p.WriteAscii(this.user_pw);
                                            
p.WriteUInt8(22);
                                            
p.WriteUInt32(ukn1);
                                            
p.WriteUInt16(ukn);
                                            
m_RemoteSecurity.Send(p);
                                            
Send(true);
                                            continue;
                                        } 


Dev.Exorcism 23-10-2016 03:44 AM

رد: شرح كامل لغلق ثغرة SQL Inject at about guild
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Jayden (المشاركة 5282243)
الLocal ده اللى هو 22
وبالنسبة لل Third
هتعمل List يتضاف فيها الناس اللى مش داخلين ب Parse طبيعى بتاع 0x6103
لان ال third بيدخلوا ب Local مختلف لو انا متزكر كويس كان 51
بمعنى هتحط معلومات ال 0x6103 وتعمل else حط فى ال List بس طبعا لازم تعمل continue ل6103 عشان ميدخلش ( ده لو انت هتمنع ال third )
وهتحتا تحط condition ياخد من ال config عشان تسيب الاختيار فى ايد اللى بيستخدم البرنامج طبعا
ودى المعلومات اللى هتحطها الاول

كود PHP:

if (locale == 51)
                                        {
                                            
Packet p = new Packet(0x6103true);
                                            
p.WriteUInt32(uint32_1);
                                            
p.WriteAscii(this.user_id);
                                            
p.WriteAscii(this.user_pw);
                                            
p.WriteUInt8(22);
                                            
p.WriteUInt32(ukn1);
                                            
p.WriteUInt16(ukn);
                                            
m_RemoteSecurity.Send(p);
                                            
Send(true);
                                            continue;
                                        } 


تمام وصلت فهمت شكرا ممكن الفيس بتاعك؟ او ترد علي السكايب؟

Jayden 23-10-2016 04:09 PM

رد: شرح كامل لغلق ثغرة SQL Inject at about guild
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Dev.Exorcism (المشاركة 5282251)
تمام وصلت فهمت شكرا ممكن الفيس بتاعك؟ او ترد علي السكايب؟

تقريبا انت اللى رديت عليك skype

medolife20 23-10-2016 10:02 PM

رد: شرح كامل لغلق ثغرة SQL Inject at about guild
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Jayden (المشاركة 5282243)
الLocal ده اللى هو 22
وبالنسبة لل Third
هتعمل List يتضاف فيها الناس اللى مش داخلين ب Parse طبيعى بتاع 0x6103
لان ال third بيدخلوا ب Local مختلف لو انا متزكر كويس كان 51
بمعنى هتحط معلومات ال 0x6103 وتعمل else حط فى ال List بس طبعا لازم تعمل continue ل6103 عشان ميدخلش ( ده لو انت هتمنع ال third )
وهتحتا تحط condition ياخد من ال config عشان تسيب الاختيار فى ايد اللى بيستخدم البرنامج طبعا
ودى المعلومات اللى هتحطها الاول

كود PHP:

if (locale == 51)
                                        {
                                            
Packet p = new Packet(0x6103true);
                                            
p.WriteUInt32(uint32_1);
                                            
p.WriteAscii(this.user_id);
                                            
p.WriteAscii(this.user_pw);
                                            
p.WriteUInt8(22);
                                            
p.WriteUInt32(ukn1);
                                            
p.WriteUInt16(ukn);
                                            
m_RemoteSecurity.Send(p);
                                            
Send(true);
                                            continue;
                                        } 


طبعا انا مش حابب اعدل عليك بس حبيت اقول حاجه
مين قال لحضرتك ان ال Third بيدخل ب Local 51؟
علشان تقفل البوتات اللى بتدخل اللعبه
انت بتلعب على ال handshake وال Packet flow

Dev.Exorcism 23-10-2016 11:37 PM

رد: شرح كامل لغلق ثغرة SQL Inject at about guild
 
اقتباس:

المشاركة الأصلية كتبت بواسطة medolife20 (المشاركة 5282328)
طبعا انا مش حابب اعدل عليك بس حبيت اقول حاجه
مين قال لحضرتك ان ال Third بيدخل ب Local 51؟
علشان تقفل البوتات اللى بتدخل اللعبه
انت بتلعب على ال handshake وال Packet flow

بص انا مش عاوز افتي بس ال شوفتو في سورس سوبر مايك تن هو عامل اول ما locale. 51 يوقف البوت من الجخول اللعبه

medolife20 23-10-2016 11:56 PM

رد: شرح كامل لغلق ثغرة SQL Inject at about guild
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Dev.Exorcism (المشاركة 5282337)
بص انا مش عاوز افتي بس ال شوفتو في سورس سوبر مايك تن هو عامل اول ما locale. 51 يوقف البوت من الجخول اللعبه

جرب تعمل اى توول Clientless
هتلاقى ان انت بتختار ال Local فيها
فى الغالب والطريقه الصح اساسا علشان توقف ال Third part
ان حضرتك بتعمل break blowfish encryption
وبكده broken handshake
وبتقدر تتحكم فى ان كنت تسمح لل Third part او لا

Dev.Exorcism 24-10-2016 01:16 AM

رد: شرح كامل لغلق ثغرة SQL Inject at about guild
 
اقتباس:

المشاركة الأصلية كتبت بواسطة medolife20 (المشاركة 5282340)
جرب تعمل اى توول Clientless
هتلاقى ان انت بتختار ال Local فيها
فى الغالب والطريقه الصح اساسا علشان توقف ال Third part
ان حضرتك بتعمل break blowfish encryption
وبكده broken handshake
وبتقدر تتحكم فى ان كنت تسمح لل Third part او لا

بص الصراحه انا معرفش ال انت بتقو عليه بس هو موجود في سوبر مايك. سورس؟ لو موجود قلي قين اشوفه لو مش موجود يبقا هو عامل بال locale و شغاله

™ EgY_KhaN ™ 24-10-2016 03:46 PM

رد: شرح كامل لغلق ثغرة SQL Inject at about guild
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Hamza FiGo (المشاركة 5282218)
دا الايرور اللي كنت بتكلم عنه

تقريبا من السطر دا لان دا اللاين 57 اللي بيتكلم عنه

كود PHP:

// Read SQL
 
FilterMain.DB bool.Parse(cfg.IniReadValue("GENERAL""ENABLE")); 

http://i.epvpimg.com/rpgBe.jpg

فضلت العب شوية وصلت لحد كدة

http://i.epvpimg.com/QlD5c.jpg


السطور الحمرة دي فكك منها انت خش علي فولدر Debug
هتلاقي جواه فولدر اسمه SUPERMIKE_Locked
خد منه كل الملفات والكلام دا وحطهم في Debug
او لما انت تعمل Debug للتول بتاعتك خدها حطها في الفولدر دا وهتشتغل معاك تمام


الساعة الآن 02:12 AM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.