Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,038

HOME > PHP > PHP Forum > รบกวนสอบถามเรื่อง Version ของ PHP หน่อยครับ พอดีจะทำเรื่อง SQL Injection



 

รบกวนสอบถามเรื่อง Version ของ PHP หน่อยครับ พอดีจะทำเรื่อง SQL Injection

 



Topic : 048113

Guest




ผมลองทำใน PHP 4 กับ 5 แล้วมันมีอยู่ Function นึงที่ะใส่ \ ให้ข้างหน้า ' โดยอัตโนมัติอะครับ เลยทำให้ทดลองการ Injection ไม่ได้ อยากทราบว่าจะไปปิด Function นี้ยังไงครับ หรือถ้าปิดไม่ได้ก็อยากทราบว่ามี PHP Version ไหนที่ต้องกำหนดเองแบบ Manual อะครับ คืออยากลองทำตาม http://www.learnphponline.com/security/sql-injection-prevention-mysql-php นี้ดูอะครับ และก็ต้องไปทำรายงานด้วย รบกวนช่วยทีนะครับ ขอบคุณมากครับ



Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-09-02 20:02:07 By : เครียด View : 1012 Reply : 10
 

 

No. 1



โพสกระทู้ ( 3,468 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter

จำไม่ผิด php4 มันจะไม่ใส่ \ มาให้นะครับ เมื่อก่อนต้อง addslashes() ตลอด

php 5 เนี่ย เวลาตรวจสอบก็ใช้ get_magic_quotes_gpc() ดูว่า ดีฟอล มันเป็นอะไร

จริงๆ แบบ php4 มันก็ดีอยู่แล้ว แต่ php5 ทำมาเพื่อป้องกัน แต่php6 จะกลับไปใช้แบบเดิมหละมั้ง

ปัจจุบันผมต้องเอามันออกคับ \ อ่ะ


ดูนี่คับ วิธีปรับค่า (ปรับตอนรันสคริปไม่ได้คับ)
http://php.net/manual/en/security.magicquotes.disabling.php






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-09-02 20:12:06 By : pjgunner
 


 

No. 2

Guest


ลองไปปิดใน php.ini แล้วอะครับมันก็ยังใส่ให้อยู่ T T ผมใช้ Appserv 2.4.9 ซึ่งจะเป็น PHP4.4.7 อะครับ เลยไม่รู้จะทำยังไงแล้ว มันมีโอกาศที่เกิดจาก Code ไหมครับ แต่ผมดูแล้วก็ไม่น่ามีนะครับหรือว่าเกิดจากตัว phpMyAdmin ผมว่าก็ไม่น่าใช่ ช่วยดูให้หน่อยได้ไหมครับ

Form.php

<?php
session_start();
if(isset($_SESSION["user"]))
{
echo "ผู้ใช้งานปัจจุบัน ".$_SESSION["user"]."<br/>";
echo "<a href=\"logout.php\">ออกจากระบบ</a> ";
}
else
{
?>
<form method="post" action="login.php">
Username : <input type="text" name="username"><br/>
Password : <input type="text" name="password"><br/>
<input type="submit" value="login">
</form>
<?
}
?>

login.php

<?
session_start();//ติดต่อ database
$db_hostname='localhost'; //ชื่อ host
$db_username='root'; //ชื่อ user เข้า db
$db_password='admin'; //กรอกรหัสผ่าน db
$db_name="test"; //ชื่อ db ที่ เรา create ไว้
mysql_connect($db_hostname,$db_username,$db_password) or die("Unable to Connect"); // คอนเน็ตดา ต้าเบส
mysql_select_db( $db_name ); //เลือก database

$username = $_POST["username"];
$password = $_POST["password"];

$sql = "select * from members where user = '$username' and pass = '$password' ";

$result = mysql_query($sql);


echo get_magic_quotes_gpc();
echo $sql;
echo mysql_num_rows($result);



/*$rows = mysql_fetch_array($result);
$user = $rows["user"];

if(isset($user)) //พบ user ให้ เอาข้อมูลเก็บลง session
{
$_SESSION["user"] = $user;
echo "เข้าสู่ระบบเรียบร้อย<br>";
echo "ยินดีต้อนรับ คุณ " ,"$username";
}
else
{
echo "ไม่พบชื่อผู้ใช้งาน $username";
}*/
?>
<br/><a href="form.php">กลับหน้าฟอร์ม</a>


logout.php

<?
session_start();
session_destroy();
?><META HTTP-EQUIV="refresh" CONTENT="0;URL=form.php">
else
{
echo "ไม่พบชื่อผู้ใช้งาน $username";
}
?><br/>
<a href="form.php">กลับหน้าฟอร์ม</a>

แล้วพอรันออกมาได้อย่างเนี้ยออะครับ

สมมติว่าผมใส่
user > ccc
pass > b' or '1=1

มันออกมาเป็นอย่างนี้อะครับ
1select * from members where user = 'ccc' and pass = 'b\' or \'1=1' 0

1 จาก echo get_magic_quotes_gpc(); << ทั้งๆที่ผมไป Off ใน php.ini แล้วมันก็ยัง 1 อยู่ จนปัญญา T T
select * from members where user = 'ccc' and pass = 'b\' or \'1=1' จาก echo $sql; << มี \ ออโต้ให้เฉย T T เลยทดลองไม่ได้ซะที
0 จาก echo mysql_num_rows($result); << เข้าใจว่าเป็นค่า true/false อะครับ เพราะจากที่ลองถ้ามีข้อมูลตรงกันมันจะเป็น 1 แต่ตอนนั้นไปลองอีกสคริปต์นึงเป็นแบบ WWW_Authenticate อะครับ รับค่าแบบ $_SERVER['PHP_AUTH_USER'],$_SERVER['PHP_AUTH_PW'] อะครับ ไออันนั้น Injection ได้แต่ไม่รู้ป้องกันยังไง(ปัญหาตรงข้ามกันเลย) แล้วไอค่านี้ตอนหลังจากทำ injection เป็น 2 ด้วยก็เลย งง ว่ามันมาได้ไง

จนปัญญาแล้วจริงๆครับ T T
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-09-02 21:07:41 By : เศร้า
 

 

No. 3



โพสกระทู้ ( 3,468 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter

รีสตาร์ท อาปาเช่ ยังคับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-09-02 21:18:42 By : pjgunner
 


 

No. 4

Guest


ถึงเปิด magic_quote_gpc on ก็ injection ได้ครับถ้าไม่ได้ใส่ '' ให้กับตัวแปรเช่น
$sql = "SELECT* FROM tb WHERE id=".$_GET['id'];

แค่ใส่ test.php?id=0; DELETE FROM tb; ประมาณนี้ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-09-02 22:11:49 By : sss
 


 

No. 5

Guest


หรอครับ ประเดี๋ยวขอลองก่อนนะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-09-02 22:16:55 By : เครียด
 


 

No. 6



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

ถ้าใน php อาจจะยากหน่อยครับ แต่ใน asp or asp.net นี่เจอประจำครับ เคยลองไปใช้กับ app เก่า ๆ หลาย ๆ บริษัทก็เข้าได้กันจริง ๆ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-09-02 22:31:14 By : webmaster
 


 

No. 7

Guest


รีแล้วครับ ยังเหมือนเดิม T T
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-09-02 22:45:08 By : เศร้า
 


 

No. 8

Guest


ตอบความคิดเห็นที่ : 4 เขียนโดย : sss เมื่อวันที่ 2010-09-02 22:11:49
รายละเอียดของการตอบ ::
แบบว่าจะแปลงจาก code ของผมยังไงหรอครับ
$sql = "select * from members where user = '$username' and pass = '$password' "; << นี้อะครับ คิดไม่ออก



ตอบความคิดเห็นที่ : 6 เขียนโดย : webmaster เมื่อวันที่ 2010-09-02 22:31:14
รายละเอียดของการตอบ ::
แล้ว PHP ยังพอมีทางรึปล่าวครับ เกรงว่าถ้าจะไปศึกษาใหม่ กลัวจะไม่ทัน เพราะงานเร่ง แถมมือใหม่อีกตังหากอะครับ T T ยังไงก็รบกวนชี้แนะด้วยนะครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-09-02 23:14:35 By : เครียด
 


 

No. 9

Guest


หรือไม่ก็ช่วยบอกวิธี Injection Code ผมก็ได้คร้าบ ขอแค่ Bypass Log in พอ ขอบคุณคร้าบบ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-09-02 23:47:05 By : เครียด
 


 

No. 10



โพสกระทู้ ( 3,468 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter

หาดูตัวอย่างได้ จากพี่กู ครับ เมื่อก่อนผมก็เคยหาดู

ปัจจุบัน ไม่กลัวเลยครับ (ยกเว้นลืม escape) ถึงแม่จะไม่ escape อัตโนมัติ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-09-03 00:22:35 By : pjgunner
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : รบกวนสอบถามเรื่อง Version ของ PHP หน่อยครับ พอดีจะทำเรื่อง SQL Injection
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 01
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่