ป้ายเลื่อน


WelCom To www.Kiss-Hack.blogspot.com สังคม IT สังคม Hacker

หมวดหมู่

วันเสาร์ที่ 27 กรกฎาคม พ.ศ. 2556

กลโกง Hacker Web ตอนที่ 2




    กลโกงของ Hacker ในการ Hack เว็บ นั้นมีอยู่มากมาย จนนับไม่ถ้วน จะมีอยู่มากที่ Hack ด้วยด้วยความรู้ของตนเอง และ เข้าใจในหลักการ ของ Hack Tool และยังมีอีกมากกว่า ที่ใช้ Hack tool แต่ไม่รู้ว่ามันทำงานยังไง

    เรื่องนั้นช่างมันก่อน วันนี้ผมจะมาพูดถึงเรื่องการ Hack เข้าดูโค้ด HTML หน้าเว็บ ที่เขาไม่เปิดดู งงละสิ อย่างเพิ่ง งง ยกตัวอย่างเช่นเว็บ http://www.animegx.net เว็บ ของคุณท๊อป นั้นเอง เว็บของเขานั้นป้องกันมาดี ทั้งไม่สามารถเปิดดู Code HTML ได้ ไม่สามารถ SQL injection ได้ Index?=html ก็ไม่ได้ java script ก็มิอาจจะระคายเขาได้ UDP Flood , TCP Flood ก็ยากจะเข้าถึง

    แต่ว่า ที่ผมจะพูดก็คือ การเปิดดูหน้า Html Code ซึ่งก่อนหน้านี้ มีไอ้บ้าที่ใหนไม่รู้ดันไปก๊อป โค้ดเขามาใส่เว็บตัวเอง ซะเหมือน เว็บต้นฉบับเป๊ะ แต่ว่าเราำม่พูดถึง เพราะไม่เกี่ยวกับเราเท่าไร ซึ่งพอเกิดเหตุการณ์ที่ว่า ทาง Animegx ได้ยัดโค้ด ห้ามคลิ๊กขวาในเว็บของเขา ถ้า ยศไม่ถึง (ใช่เปล่าไม่รู้นะ ว่าเขาทำมาป้องกัน Hacker รึเปล่า)

   ทุกๆอย่างที่คุณท๊อปทำมา ทำเอาเหล่า Hacker ปวดหัวไปตามๆกัน เพราะ หาช่องโหว่ไม่ค่อยจะเจอ แถมพวก Hacker ที่คอยจะโจมตีเว็บเขา (ทำไปทำไมวะ)

   ผมจะยก Code Perl ที่ใช้สำหรับ ดูโค้ด HTML มาให้ จะเอาไปดัดแปลงหรือ ไปทำอะไรก็ไป เพราะต่อจากนี้ผมจะเขียนวิธีป้องกันด้วย

#!/usr/bin/Perl

use LWP::UserAgent;
$agent = LWP::UserAgent->new;
$url = "http://www.animegx.net";
$response = $agent->get($url);
$agent->proxy("http","http://127.0.0.1:8080");
print $response->content;

   ในภาษา Perl มันมี โมคูล LWP ที่เชื่อมต่อกับ โปรโตคอล HTTP ได้ง่าย การทำงานของมันเริ่มจากดึงโมคูล LWP เข้ามาใช้ แล้วสร้าง ออบเจ็กต์ LWP::UserAgent เก็บไว้ในตัวแปร $agent บรรทัดต่อไปเป็นการ กำหนดตัวแปร $use หรือก็คือ ชื่อของเว็บไซต์ URL ที่ต้องการให้ โค้ดดึงข้อมูลของเว็บ

   $response = $agent->get($url); บรรทัดนี้จะเป็นการเรียกร้องขอข้อมูลแบบ GET ไปยัง เซิฟเวอร์ แล้วเก็บผลหรือเอกสาร HTML ที่เซิร์ฟเวอร์ส่งกลับมาไว้ยังตัวแปร $response จากนั้นก็แสดงข้อมูลที่อยู่ในตัวแปร $response ออกทางจอภาพด้วยคำสั่ง print $response->content;

   คำสั่ง $agent->proxy("http","http://127.0.0.1:8080"); จะเป็นการกำหนดค่า Proxy ของออบเจ็คต์ $agent ว่าให้ไปใช้ Proxy หมายเลข 127.0.0.1 พอร์ต 8080

ซึ่งมาในทางการป้องกัน กรณี Apache ให้ใช้ mod_rewrite โดยในเรกทีฟ <Directory> ของ Document Root ให้เพิ่มคำสั่งนี้เข้าไป

Options FollowSymLinks
rewriteEngine on
rewriteCond %{REQUEST_FILENAME} !-D
rewriteCond %{REQUEST_FILENAME} !-f
rewriteRule . /index.html

การกระทำแบบนี้ จะทำให้ได้ผลเหมือนกับการกำหนด ErrorDocument 404/index.html ทุกอย่างครับ เพียงแต่ในกรณีข้อมูลที่ร้องขอไม่มี แทนที่รหัสในบรรทัดสถานะตอบกลับจะเป็น 404 Not Found แต่จะเป็น 200 OK แทน ป้องกันได้เปล่าหว่าช่างเหอะ