2017-01-13 2 views
0

Попытка сканирования в базе данных Robtex с Nmap:Какой тип регулярных выражений используется NMAP?

nmap --script http-robtex-reverse-ip <target> 

Но поскольку Robtex обновил свой сайт, скрипт Nmap не работает больше.

Новая Robtex HTML структура такова:

<div class="xsha"> 
     <div> 
      <div> 
       <h3> 
        <span id="sharedn.b446331/_ma">Pointing to this IP number</span> 
       </h3> 
      </div> 
      <ol class="xbul"> 
       <li>domain1</li> 
<li>domain2</li> 
<li>domain3</li> 
<li>domain...</li> 
      </ol> 
     </div> 
    </div> 

Я изменил мой Nmap сценарий, но он не работает.

function parse_robtex_response(data) 
    local data = data:match("<span id=\"sharedn\">.-<ol.->(.-)</ol>") 
    local result = {} 
    if data then 
    for domain in data:gmatch("<li[^>]*>(.-)</li>") do 
     domain = domain:gsub("<[^>]+>","") 
     table.insert(result, domain) 
    end 
    end 
    return result 
end 

prerule = function() return stdnse.get_script_args("http-robtex-reverse-ip.host") ~= nil end 

action = function(host, port) 

    local target = stdnse.get_script_args("http-robtex-reverse-ip.host") 
    local ip = ipOps.ip_to_str(target) 
    if (not(ip) or #ip ~= 4) then 
    return stdnse.format_output(false, "The argument \"http-robtex-reverse-ip.host\" did not contain a valid IPv4 address") 
    end 

    local link = "/ip-lookup/"..target.."" 
    local htmldata = http.get("www.robtex.com", 443, link, {any_af=true}) 
    local domains = parse_robtex_response(htmldata.body) 
    if (#domains > 0) then 
    return stdnse.format_output(true, domains) 
    end 
end 

Как исправить эту проблему?

+0

«это не работает» довольно неопределенно ... – twalberg

+0

не получают доменных имен –

+1

Это «регулярное выражение» выглядит как шаблоны Lua, которые не являются регулярными выражениями. Попробуйте заменить шаблон 'local data' на' .- (.-)' pattern. Однако у вас нет текста внутри тега 'li'. –

ответ

2

Это, вероятно, сломается снова в следующий раз, когда мы сменим веб-страницу. Вместо того, чтобы очищать наш сайт, было бы лучше использовать совершенно новый бесплатный API (https://www.robtex.com/api/). Это безопаснее, быстрее и проще разобрать.

Смежные вопросы