Rumah Operasi dan penyelenggaraan Keselamatan 采用词法分析提取域名和IP

采用词法分析提取域名和IP

Dec 25, 2019 pm 01:08 PM
ip nama domain ekstrak Analisis leksikal

采用词法分析提取域名和IP

背景

在分析日志的时候发现有些日志中参数中包含其他的URL,例如:

10fb0251c88e1486b149ab5acc073d9.png

提取请求参数中的URL(xss.ha.ckers.org),再对比威胁情报数据库,如果命中黑名单直接标黑。如果不在黑名单,也不在公司的白名单里可以先做个标记,后续着重分析。

提取URL

关于URL的提取网上有很多文章,大部分都是是使用正则表达式,方法简单但是不太准确。我这里提供一种方法:采用词法分析,提取域名和IP。思路借鉴了这篇文章:https://blog.csdn.net/breaksoftware/article/details/7009209,有兴趣的可以去看看,事实证明跟着大神确实涨姿势。

原文是用C++版本,这里我用Python写了一个类似的,供大家参考。

常见的URL分类

5b36de3537cb80aa493384f6e1d907b.png

观察可以见得:IP形式的URL结构最为简单:4个小于255的数字被.分割;domain形式比较复杂,但是它们有共性:都具有顶级域名.com。

定义合法字符:

06c48f2cc418ff91f9e64fb440a3e5b.png

顶级域名列表:

3.jpg

域名形式提取:如www.baidu.com

d16eed0b47f886148f3ecff76ae583d.png

6b17cde8d3dbf3dbca0a39f7379f356.png

IP形式提取:如192.168.1.1。

bf4e4015d2185fcd055d3a4011827bf.png

while (i < len(z) and z[i].isdigit()):
                i = i + 1
                ip_v1 = True
                reti = i            if i < len(z) and z[i] == &#39;.&#39;:
                i = i + 1
                reti = i            else:
                tokenType = TK_OTHER
                reti = 1while (i < len(z) and z[i].isdigit()):
                i = i + 1
                ip_v2 = True
            if i < len(z) and z[i] == &#39;.&#39;:
                i = i + 1
            else:                if tokenType != TK_DOMAIN:
                    tokenType = TK_OTHER
                    reti = 1while (i < len(z) and z[i].isdigit()):
                i = i + 1
                ip_v3 = True
            if i < len(z) and z[i] == &#39;.&#39;:
                i = i + 1
            else:                if tokenType != TK_DOMAIN:
                    tokenType = TK_OTHER
                    reti = 1while (i < len(z) and z[i].isdigit()):
                i = i + 1
                ip_v4 = True

            if i < len(z) and z[i] == &#39;:&#39;:
                i = i + 1
            while (i < len(z) and z[i].isdigit()):
                i = i + 1

            if ip_v1 and ip_v2 and ip_v3 and ip_v4:                
                self.urls.append(z[0:i])                
                return reti, tokenType            
            else:                
                if tokenType != TK_DOMAIN:
                    tokenType = TK_OTHER
                    reti = 1
Salin selepas log masuk

混合形式提取:如1234.com。
扫描前半部分1234,符合IP形式的特征,但是发现代码会报异常,所以需要IP处理代码段添加判断:判断后缀是否是顶级域名:

0344cd5e302d2497f4bb5bf6063c760.png

结果测试

测试数据:

03ae44d8ab2c65074724a79eadbd999.png

运行结果:

577b7721a4faf9a46454455b9e8b43c.png

这只是个初步的版本,如果有BUG欢迎大家指正。

结束语

以前只顾着闷着头的写代码,忽略了事后的思考和总结。现在尝试着改变一下,一边工作,一边提炼和总结,遇到感觉不错的,尝试写成工具开源出来,与大家共勉。

代码传送门:

https://github.com/skskevin/UrlDetect/blob/master/tool/domainExtract/domainExtract.py

相关文章教程推荐:web服务器安全

Atas ialah kandungan terperinci 采用词法分析提取域名和IP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimanakah tapak web menetapkan sekatan IP hitam/senarai putih dan sekatan akses IP negara dan bandar melalui nginx? Bagaimanakah tapak web menetapkan sekatan IP hitam/senarai putih dan sekatan akses IP negara dan bandar melalui nginx? Jun 01, 2023 pm 05:27 PM

1. Senarai hitam/putih IP konfigurasi capaian terhad nginx Terdapat beberapa cara untuk mengkonfigurasi senarai hitam dan putih Di sini hanya dua kaedah yang biasa digunakan. 1. Kaedah pertama: membenarkan, menafikan dan membenarkan arahan milik ngx_http_access_module nginx memuatkan modul ini secara lalai, supaya ia boleh digunakan secara langsung. Kaedah ini adalah yang paling mudah dan paling langsung. Tetapan adalah serupa dengan firewall iptable Cara menggunakan: Tambahkan terus pada fail konfigurasi: #Whitelist settings, diikuti dengan allow is accessible IPlocation/{allow123.13.123.12;allow23.53.32.1/100;denyall;}# Tetapan senarai hitam,

Apakah maksud mengikat ip dan mac? Apakah maksud mengikat ip dan mac? Mar 09, 2023 pm 04:44 PM

Pengikatan IP dan mac merujuk kepada mengaitkan alamat IP tertentu dengan alamat MAC tertentu, supaya hanya peranti yang menggunakan alamat MAC boleh menggunakan alamat IP untuk komunikasi rangkaian. Mengikat ip dan mac boleh menghalang alamat IP hos terikat daripada dipalsukan. Gerbang hos berada pada penghala).

Kawalan yang diminta adalah tidak sah NET HELPMSG 2191: 2 pembetulan mudah Kawalan yang diminta adalah tidak sah NET HELPMSG 2191: 2 pembetulan mudah Apr 15, 2023 am 09:13 AM

Dalam suite protokol TCP/IP, Sistem Nama Domain ialah salah satu protokol yang menyediakan perkhidmatan resolusi nama untuk memetakan nama komputer ke alamat IP. Walau bagaimanapun, kadangkala ia tidak berfungsi, mengakibatkan ralat seperti Kawalan yang diminta tidak sah untuk perkhidmatan ini NETHELPMSG2191. Pelanggan dan pelayan DNS bekerjasama untuk menyediakan nama komputer kepada perkhidmatan resolusi nama pemetaan alamat IP untuk komputer dan pengguna. Selepas memasang Windows, versi klien dan pelayan sistem pengendalian mempunyai perkhidmatan klien didayakan secara lalai. Sebaik sahaja anda menentukan alamat IP pelayan dalam konfigurasi rangkaian TCP/IP anda, klien DNS menanyakan pelayan untuk menemui pengawal domain dan menyelesaikan nama komputer kepada alamat IP. hanya dalam perkhidmatan

Bagaimana untuk menetapkan senarai putih direktori dan senarai putih ip dalam nginx Bagaimana untuk menetapkan senarai putih direktori dan senarai putih ip dalam nginx May 18, 2023 pm 03:52 PM

1. Tetapkan senarai putih direktori: Tiada sekatan pada laluan permintaan yang ditentukan Jika tiada sekatan pada laluan permintaan ke direktori api, ia boleh ditulis sebagai pelayan{location/app{proxy_passhttp://192.168.1.111: 8095/app ;limit_connconn20;limit_rate500k;limit_reqzone=fooburst=5nodelay;}location/app/api{proxy_passhttp://192.168.1.111:8095/app/api}}#Kerana nginx akan memberi keutamaan kepada pemadanan yang tepat

Bagaimana untuk menyemak alamat IP pada WeChat Bagaimana untuk menyemak alamat IP pada WeChat May 31, 2023 am 09:16 AM

Cara menyemak alamat IP pada WeChat: 1. Log masuk ke versi komputer WeChat, klik kanan bar tugas di bahagian bawah skrin, dan klik "Pengurus Tugas" 2. Apabila pengurus tugas muncul, klik "; Butiran" di sudut kiri bawah; 3. Pengurusan tugas Masukkan pilihan "Prestasi" pelayar dan klik "Open Resource Monitor"; 4. Pilih "Rangkaian" dan semak proses WeChat "Wechat.exe"; 5. Klik " Sambungan TCP" di bawah untuk memantau situasi berkaitan IP rangkaian WeChat. Menghantar mesej dan mendapatkan balasan akan mendedahkan alamat IP orang lain.

Bagaimana untuk mengekstrak fail RAR pada iPhone Bagaimana untuk mengekstrak fail RAR pada iPhone Jul 12, 2023 pm 07:53 PM

Banyak kali, fail yang sangat besar sukar untuk dikongsi antara peranti, terutamanya telefon pintar dan seumpamanya. Oleh itu, fail ini mula-mula diarkibkan/dimampatkan ke dalam fail RAR dan kemudian dihantar ke peranti lain untuk dikongsi. Tetapi masalahnya ialah fail RAR tidak mudah untuk diekstrak pada iPhone. Untuk mengekstrak fail zip, ia hanya memerlukan satu ketikan. Tidak ramai yang tahu proses mengekstrak fail RAR pada iPhone, dan untuk pemula, langkah-langkahnya boleh mengelirukan. Ini boleh dilakukan menggunakan aplikasi lalai pada iPhone anda yang dipanggil Pintasan. Di sini kami menerangkan langkah demi langkah cara mengekstrak sebarang fail RAR pada iPhone menggunakan aplikasi Pintasan. Cara Mengekstrak Fail RAR pada iPhone Langkah 1: Pertama, anda

Bagaimanakah NGINX mengira PV, UV dan IP bebas tapak web? Bagaimanakah NGINX mengira PV, UV dan IP bebas tapak web? May 19, 2023 am 09:13 AM

Konsep: uv (uniquevisitor): pelawat unik, setiap komputer Internet bebas (berdasarkan kuki) dianggap sebagai pelawat, dan bilangan pelawat yang melawat tapak web anda dalam masa sehari (00:00-24:00). Lawatan ke kuki yang sama dalam sehari hanya dikira sekali PV (pandangan halaman): lawatan, iaitu, paparan halaman atau klik, setiap lawatan ke tapak web oleh pengguna direkodkan sekali. Apabila pengguna melawat halaman yang sama beberapa kali, jumlah lawatan dikira IP Bebas: Alamat IP yang sama hanya dikira sekali dalam 00:00-24:00 Rakan yang melakukan pengoptimuman tapak web adalah yang paling mengambil berat tentang perkara ini saya mula-mula nyatakan persekitaran ini menjalankan nginx versi 1.7, tomcat bahagian belakang berjalan dinamik

Apakah yang perlu saya lakukan jika wifi saya tidak menunjukkan peruntukan IP? Apakah yang perlu saya lakukan jika wifi saya tidak menunjukkan peruntukan IP? Aug 30, 2023 am 11:58 AM

Penyelesaian kepada wifi yang tidak menunjukkan peruntukan IP: 1. Mulakan semula peranti dan penghala, matikan sambungan Wi-Fi pada peranti, matikan peranti, matikan penghala, tunggu beberapa minit, kemudian buka semula penghala untuk menyambung ke wifi ; 2. Semak tetapan penghala dan mulakan semula DHCP, pastikan fungsi DHCP didayakan; 3. Tetapkan semula tetapan rangkaian, yang akan memadamkan semua rangkaian WiFi dan kata laluan yang disimpan perisian tegar penghala, log masuk ke antara muka pengurusan penghala, dan cari pilihan Kemas kini perisian tegar dan ikut gesaan.

See all articles