หน้าเว็บ

วันจันทร์ที่ 19 มีนาคม พ.ศ. 2555

Cross Site Request Forgery => Remote Code Execution


          สวัสดีครับหลังจากหายไปนานเนื่องจากเข้าค่ายอาสาและอ่านหนังสือสอบ ช่วงนี้เลยว่างมาเขียนบทความมาให้ท่านที่ติดตามได้อ่านกัน บทความนี้เกี่ยวกับ  CSRF ,,  CSRF คือการโจมตีโดยการส่งข้อมูลมาจากที่อื่นที่ไม่ใช่เว็บของเรา ผ่านทาง tag HTML.. ส่วนการใช้ RCE จาก CSRF นั้นมาจาก IRC ได้พูดถึงการประยุกต์ใช้ Exploit CSRF เพื่อทำ Remote Code Execution ยกตัวอย่าง Acal Calendar 2.2.6 CSRF Vulnerability ที่มีช่องโหว่นี้ แต่ก็ไม่ใช่ทุก Exploit  CSRF นะครับที่ทำแบบนี้ได้ เริ่มกันเลย...
          เริ่มจากการ Download Script มาดูกันเลยไฟล์ที่บัคก็จะเป็นไฟล์ admin/edit.php นะครับ ซึ่งจะบัคตรง Edit/Add Header , Footer นะครับ ซึ่งเราสามารถเขียนโค้ด PHP ลงไปในสองไฟล์นี้ได้เลย เรามาดูโค้ดที่บัคกันครับ..

if (isset($_GET['edit']) && $_GET['edit'] == 'header') {
 $file = '../header.php';
 $fh = fopen($file, 'w');
 $head = stripslashes($_POST['header']);
 fwrite($fh, $head);
 fclose($fh);
 echo "<span style=\"color: red;\">Header has been changed!</span>";
}
if (isset($_GET['edit']) && $_GET['edit'] == 'footer') {
 $file = '../footer.php';
 $fh = fopen($file, 'w');
 $foot = stripslashes($_POST['footer']);
 fwrite($fh, $foot);
 fclose($fh);
 echo "<span style=\"color: red;\">Footer has been changed!</span>";
}

          จะเห็นว่ามีการเขียนไฟล์ลงไปที่ไฟล์ footer , header ด้วยฟังก์ชั่น fwrite คือจะสามารถเพิ่มโค้ด PHP อะไรไปก็ได้เมื่อเข้า admin/edit.php โดยตรงก็จะได้หน้านี้..


          โดยรวมแล้วคือเขียน Shell เพื่อ Remote Code Execution โดยตรงจากตรงนี้ได้เลยนะครับ อย่างที่บอกคือต้องดูที่โค้ดด้วยนะครับว่าบัคแบบเขียนไฟล์ได้หรือเปล่าสำหรับ CSRF Exploit นี้สามารถทำได้ผมเลยจัดการรวบรัดเป็นขั้นตอนเดียวกันเลยดีกว่า โดยเขียนเป็น IRC Bot ทดลองใน Localhost...


          ขั้นตอนแรกคือสั่งบอทให้เขียน Shell ลงไปที่ไฟล์ header/footer จากนั้นก็ใช้บอทเรียกใช้ไฟล์ดังกล่าวจากรูปคือการตรวจสอบทรัพยากรของเครื่องเหยื่อนะครับ บทความนี้เขียนขึ้นเพื่อการศึกษาไม่ใช่ทำลายแต่อย่างใด เรียนรู้เพื่อศึกษาและป้องกันนะครับ ขอจบบทความเพียงเท่านี้ ,, ICheer_No0M

Special Thank : X-c0d3

ไม่มีความคิดเห็น:

แสดงความคิดเห็น