ขอวิธีปิดช่องโหว่ เว็บของผมหน่อยครับ โดน SQL Injection เข้ามาแฮคข้อมูลไปหมด

เริ่มโดย id09318, 15 มีนาคม 2014, 19:30:27

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

id09318






function dub($id,$table,$value){
$sql_s = " SELECT  *  FROM  ".$table." where ".$id." = '".$value."'";
$reslt_s= mssql_query($sql_s);
$row_s  = mssql_fetch_array($reslt_s);
if(!$row_s){
return true;

}
else{
return false;

}
มีแต่วันนี้ที่มีค่า ไม่มีวันหน้าและวันหลัง.

Jonathanz

อย่างง่ายๆก่อนเลยก็ใส่
$value = mysql_real_escape_string($value);
ก่อนบรรทัดที่ 28
[direct=http://gddcoupon.com/]Godaddy คูปอง[/direct] [direct=http://www.allhotels-thailand.com/th]จองโรงแรม[/direct]

smapan

กรอง
$table = mysql_real_escape_string($table);
$id = mysql_real_escape_string($id);
$value = mysql_real_escape_string($value);

ให้หมดครับ
[direct=http://cp.siamhostweb.com/cart.php?gid=1]จูมล่าโฮส สยามโฮสเว็บ[/direct] [direct=http://www.modty.com]modty.com[/direct]
[direct=http://www.apartment.in.th]รวมที่พัก เช่ารายวัน ที่พักเช่ารายเดือนมากที่สุดแจ่มจริง[/direct]
***Tel 083-757-1515 ติดปัญหา Joomla ตรงไหนรับปรึกษาฟรี โทรมาเถอะครับ ถ้าตอบได้ช่วยแน่นอน ไม่มีกั้ก. ***

id09318

อ้างถึงจาก: smapan ใน 15 มีนาคม 2014, 19:37:54
กรอง
$table = mysql_real_escape_string($table);
$id = mysql_real_escape_string($id);
$value = mysql_real_escape_string($value);

ให้หมดครับ

ขอบคุณมากครับ  :wanwan002:
มีแต่วันนี้ที่มีค่า ไม่มีวันหน้าและวันหลัง.

id09318

มีแต่วันนี้ที่มีค่า ไม่มีวันหน้าและวันหลัง.

goldxp

ถ้า db เป็น mssql อาจจะต้องใช้

$s = str_replace("'","''",$s);
หรือ
$s = str_replace("'","",$s);
แทน mysql_real_escape_string ครับ
[direct=http://web-programming-bookmark.blogspot.com/p/blog-page.html]รับแก้ไขเว็บ[/direct]

feee

ท่านใช้ db ของอะไรหรอครับ

ตัวอย่างวิธีป้องกัน SQL Injection บน PHP และ MySQLi ครับ ลองปรับใช้ดูครับ
www.amplysoft.com/knowledge/prevent-sql-injection-php-mysqli.html

konkonkan

ขอถามเพิ่มเติมจากเจ้าของกระทู้นะครับ

เราสามารถใช้คำสั่ง addslashes แทนการใช้ mysql_real_escape_string ได้หรือเปล่าครับ
แล้ว 2 คำสั่งนี้มันต่างกันยังไงหรือครับ
[direct=https://www.speakbotx.com]แปลงข้อความเป็นเสียง พูดภาษาไทยได้เป็นธรรมชาติ[/direct]
[direct=https://www.wordsai.com]โปรแกรมสปินบทความภาษาไทยที่สปินแล้วอ่านรู้เรื่อง[/direct]
[direct=https://www.wordsai.com/blog]เรียน Digital Marketing ฟรี[/direct]

iak1


ardencod3

ผมว่าควรเขียนจาก framework สักตัวจะดีกว่าการเขียนเองทั้งหมด โค้ตที่ได้มันจะเป็นมาตรฐานกว่า ศุึกษาหน่อย อนาคตจะไม่เหนื่อย
[direct=http://www.adsoptimal.com/?ss=ref3774]เบื่อมากมายกับ Adsense? ลองนี้ adsoptimal ติดง่ายไม่เรื่องมาก[/direct]
[direct=http://tfinnova.com/]ลงประกาศฟรี เว็บ PR5 จัดไปๆ[/direct]
The trick, William Potter, is not minding that it hurts

id09318

ไม่ทันแล้วครับตอนนี้โดน hack หมดละ เข้ามาลบข้อมูล เข้ามาลบดาต้าเบสผมหมดเลย ลง windows ใหม่ละครับ  :P
ข้อมูลไปหมดละครับ ท้อละ
มีแต่วันนี้ที่มีค่า ไม่มีวันหน้าและวันหลัง.

necrotorture


ballalistit

หัด Framework อีกเสียงครับ ผมเริ่มต้นกับ CI ใช้งานค่อนข้างง่าย มี helper เยอะครับ สู้ ๆ ครับ

iCeEffecT

รู้สึกว่า mysql_real_escape_string กำลังจะเลิกใช้งานนะครับ ยังไงรอผู้รู้มาตอบครับ


~บอล~


CopperCrew


ช่วงนี้อิหร่านมาสอยเวบไทยกระจุยไปหลายแห่ง
ต้องคอยupdateปิดช่องโหว่ละครับ  :wanwan004:
http://www.club27001.com - Information Security Blog

id09318

โดนลบข้อมูลไปต่อหน้าต่อตาเลยครับ ทำไรไม่ได้นอกจากปิดเครื่องหนีมัน หลังจากปิดแล้วเปิดขึ้นมา ปากฏว่ามันก็สายไปแล้วครับ
ก่อนหน้านี้มัน hack เข้ามาปิด เซอวิส หลายตัว ผมก็งงๆ เซอวิสผมปิดเองได้ไง ผมเริ่มสังเกตุ มันก็เริ่มชักจะยังไงๆล่ะ เซอวิส ไฟวอล เซอวิสSQL ปิดเอง ปิดต่อหน้าต่อตาเลย ผมใช้เครื่องอยู่ปิดเฉยๆเลย
ผมก็งง พอมาช่วงตอนเย็น มันจัดหนัก ลบข้อมูลทีละโฟลเด้อๆ ลบดาต้าเบสออกเป็นก้อนๆ สุดท้ายมันก็สายเกินที่จะแก้ครับ ( ผมขอฝากเป็นอุทาหรไว้ด้วยนะครับ ถ้าใครโดนHacker เจาะเข้ามาโดยที่เราไม่ทราบว่า hack เข้ามาผ่านช่องโหว่ไหน ให้รีบแก้ตั้งแต่ต้นๆ และให้ผู้มีความรู้ทางด้านนี้หาช่องโหว่แล้วปิดมันให้มิดชะก่อนมันจะสายเกินไป ( ของผมมันHackภายในวันเดียว ไปหมดเลยครับ ) )

มีแต่วันนี้ที่มีค่า ไม่มีวันหน้าและวันหลัง.

mikeyx


id09318

มีแต่วันนี้ที่มีค่า ไม่มีวันหน้าและวันหลัง.