Ad Widget

Collapse

Парсинг JSON с shodan

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • V.N.
    Member
    • Oct 2015
    • 37

    #1

    Парсинг JSON с shodan

    Всем привет!
    Я пытаюсь распарсить вывод с shodan.io, чтобы проверить, есть ли у сервисов, крутящихся на наших IP-адресах, какие-то уязвимости.
    Я получил список CVE, но не могу сообразить, как создать элементы данных из него.
    Например, у меня есть вот такой список
    ["CVE-2011-4317", "CVE-2017-7679", "CVE-2011-3368", "CVE-2011-3348", "CVE-2012-3499", "CVE-2012-4558", "CVE-2013-1896", "CVE-2016-8612", "CVE-2012-4557", "CVE-2014-0098", "CVE-2017-7668", "CVE-2013-6438", "CVE-2012-2687", "CVE-2011-4415", "CVE-2012-0031", "CVE-2013-2249", "CVE-2011-3607", "CVE-2017-3167", "CVE-2012-0053", "CVE-2012-0883", "CVE-2017-3169", "CVE-2011-3639", "CVE-2011-0419", "CVE-2014-0231", "CVE-2013-1862", "CVE-2016-4975", "CVE-2011-3192"]
    после обработки выданного JSON. Мне надо создать новые элементы данных по каждой CVE. Как это сделать можно? Надо создать dependent discovery rule? Или распарсить с помощью JavaScript? Версия моего сервера 4.2.1.
  • sadman
    Senior Member
    • Dec 2010
    • 1611

    #2
    Ставлю на JS, так как ни одного JSON-Path ключа для depended тут не наблюдается.

    Comment

    • V.N.
      Member
      • Oct 2015
      • 37

      #3
      Так тогда с помощью JS может быть превратить в JSON, а потом уже с помощью зависимого правила обнаружения обработать?
      Ведь если просто создавать зависимые элементы с предобработкой JS, либо тем же regexp, то это не решение, ведь в одной строке этих CVE куча может быть.

      Comment

      • V.N.
        Member
        • Oct 2015
        • 37

        #4
        Задачу решил, приведу решение здесь, может кому-то пригодится.
        С помощью предобработки сначала получил нужный мне элемент из JSON, далее убрал квадратные скобки по бокам, далее с помощью JS преобразовал его в пригодный для LLD вид.
        Изначально было
        Code:
        ["CVE-2011-4317", "CVE-2017-7679", "CVE-2011-3368", "CVE-2011-3348", "CVE-2012-3499"]
        На выходе получилось вот так
        Code:
        [{"CVE":"\"CVE-2011-4317\""},{"CVE":"\"CVE-2017-7679\""},{"CVE":"\"CVE-2011-3368\""},{"CVE":"\"CVE-2011-3348\""},{"CVE":"\"CVE-2012-3499\""}]
        Код JS
        Code:
        var array = value.split(',');
        var i, n;
        var p = [];
        
        for (i = 0, n = array.length; i < n; i++) {
            p.push({'CVE':array[i].trim()});
        }
        return(JSON.stringify(p));
        Остальное на скриншотах.

        Attached Files

        Comment

        Working...