Rumah pangkalan data tutorial mysql SQL注入技术和跨站脚本攻击的检测(2)_MySQL

SQL注入技术和跨站脚本攻击的检测(2)_MySQL

Jun 01, 2016 pm 01:56 PM
r Garis bawah petikan tunggal ungkapan

2.3 典型的 SQL 注入攻击的正则表达式

//w*((/%27)|(/’))((/%6F)|o|(/%4F))((/%72)|r|(/%52))/ix 

解释:
/w* - 零个或多个字符或者下划线。
(/%27)|/’ - 单引号或它的hex等值。
(/%6 F)|o|(/%4 F))((/%72)|r|-(/%52) -‘or’的大小写以及它的hex等值。

union’SQL 查询在SQL注入各种数据库中攻击中同样是很常见的。如果前面的正则表达式仅仅检测单引号或则其他的SQL meta characters ,会造成很多的错误存在。你应该进一步修改查询,检测单引号和关键字‘union’。这同样可以进一步扩展其他的SQL关键字,像’select’, ’insert’, ’update’, ’delete’, 等等。

2.4 检测SQL注入,UNION查询关键字的正则表达式

/((/%27)|(/’))union/ix

(/%27)|(/’) - 单引号和它的hex等值
union - union关键字

可以同样为其他SQL查询定制表达式,如 >select, insert, update, delete, drop, 等等. 

如果,到这个阶段,攻击者已经发现web应用程序存在SQL注入漏洞,他将尝试利用它。如果他认识到后端服务器式MS SQL server,他一般会尝试运行一些危险的储存和扩展储存过程。这些过程一般以‘sp’或‘xp’字母开头。典型的,他可能尝试运行 ‘xp_cmdshell’扩展储存过程(通过SQL Server执行Windows 命令)。SQL服务器的SA权限有执行这些命令的权限。同样他们可以通过xp_regread, xp_regwrite等储存过程修改注册表。

2.5 检测MS SQL Server SQL注入攻击的正则表达式

/exec(/s|/+)+(s|x)p/w+/ix

解释:
exec - 请求执行储存或扩展储存过程的关键字
(/s|/+)+ - 一个或多个的空白或它们的http等值编码
(s|x) p- ‘sp’或‘xp’字母用来辨认储存或扩展储存过程
/w+ - 一个或多个字符或下划线来匹配过程的名称

3. 跨站脚本(CSS)的正则表达式

当发动CSS攻击或检测一个网站漏洞的时候, 攻击者可能首先使简单的HTML标签如(粗体),(斜体)或(下划线),或者他可能尝试简单的 script标签如<script>alert("OK")</script>. 因为大多数出版物和网络传播的检测网站是否有CSS漏洞都拿这个作为例子。这些尝试都可以很简单的被检测出来。 然而,高明点的攻击者可能用它的hex值替换整个字符串。这样<script>标签会以%3C%73%63%72%69%70%74%3E出 现。 另一方面,攻击者可能使用web代理服务器像Achilles会自动转换一些特殊字符如<换成%3C、>换成%3E.这样攻击发生时,URL 中通常以hex等值代替角括号。 </script>

下列正则表达式将检测任何文本中包含的HTML的。它将捉住试图使用、、或<script>。这正则表达式应该忽略大小写。我们需要同时检测角括号和它的hex等值(% 3C|<)。检测hex进制转化的整个字符串,我们必须检测用户输入的数字和%号,即使用[a-z0-9%] 。这可能会导致一些错误出现,不是大部分会检测到真实攻击的。 </script>

3.1 一般 CSS 攻击的正则表达式

/((/%3C)|)/ix 

解释:
((/%3C)|((/%2F)|//)*-结束标签/或它的 hex等值
[a-z0-9/%]+ -检查标签里的字母或它hex等值
((/%3E)|>) -检查>或它的hex等值

Snort 规则: 
alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (msg:"NII Cross-site scripting attempt"; flow:to_server,established; pcre:"/((/%3C)|)/i"; classtype:Web-application-attack; sid:9000; rev:5;) 

跨站脚本同样可以使用SQL注入技术和跨站脚本攻击的检测(2)_MySQL技术。现行默认的snort规则可以被轻易避开。

3.2章节提供了防止这种技术的方法。

3.2 "SQL注入技术和跨站脚本攻击的检测(2)_MySQL

/((/%3C)|)/I 

解释:
(/%3 C)|(/%69)|i|(/%49))((/%6D)|m|(/%4D))((/%67)|g|(/%47) -’img’字母或它的大小写hex等值的变化组合
[^/n]+ -除了换行符以外的任何跟随SQL注入技术和跨站脚本攻击的检测(2)_MySQL(/%3E)|>) ->或它的hex等值

3.3 CSS 攻击的极端的正则表达式

/((/%3C)|)/I 

解释:

这个规则简单寻找。由于你的web服务器和web应用程序的构架,这个规则可能产生一些错误。但它能保证捉住任何CCS或者类似CSS的攻击。

总结:

在 这篇文章中,我们提出了不同种类的正则表达式规则来检测SQL注入和跨站脚本攻击。有些规则简单而极端,一个潜在的攻击都将提高警惕。但这些极端的规则可 能导致一些主动的错误。考虑到这点,我们修改了这些简单的规则,利用了另外的样式,他们可以检查的更准确些。在这些网络应用成的攻击检测中,我们推荐将这 些作为调试你IDS或日志分析方法的起点。再经过几次修改后,在你对正常网交易部分的非恶意应答进行评估以后,你应该可以准备的检测那些攻击了。

参考

1. SQL Injection 

http://www.spidynamics.com/papers/SQLInjectionWhitePaper.pdf 
2. Cross Site Scripting FAQ http://www.cgisecurity.com/articles/xss-

faq.sHTML
3. The Snort IDS http://www.snort.org 
4. Perl-compatible regular expressions (pcre) http://www.pcre.org
5. Web application proxy, Achilles http://achilles.mavensecurity.com 
3. Advanced SQL Injection 

http://www.nextgenss.com/papers/advanced_sql_injection.pdf
7. Secure Programming HOWTO, David Wheeler www.dwheeler.com
8. Threats and Countermeasures, MSDN, Microsoft

 

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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

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)

Bagaimana untuk menaip garis bawah pada papan kekunci Bagaimana untuk menaip garis bawah sahaja tanpa menaip? Bagaimana untuk menaip garis bawah pada papan kekunci Bagaimana untuk menaip garis bawah sahaja tanpa menaip? Feb 22, 2024 pm 07:46 PM

Laraskan kaedah input kepada bahasa Inggeris dan tahan kekunci Shift dan kekunci tolak. Model tutorial yang boleh digunakan: Sistem Lenovo AIO520C: Windows 10 Edisi Profesional: Analisis Microsoft Office Word 2022 1 Mula-mula semak kaedah input bahasa Cina dan Inggeris dan laraskannya kepada bahasa Inggeris. 2Kemudian tahan kekunci Shift dan kekunci Tolak pada papan kekunci anda pada masa yang sama. 3 Semak antara muka untuk melihat perkataan bergaris. Tambahan: Cara memasukkan garis bawah dengan cepat dalam dokumen Word 1. Jika anda perlu memasukkan garis bawah dalam Word, pilih ruang dengan tetikus, kemudian pilih jenis garis bawah dalam menu fon untuk masuk. Ringkasan/Nota: Pastikan anda menukar kaedah input kepada Bahasa Inggeris sebelum meneruskan, jika tidak, garis bawah tidak boleh berjaya dimasukkan.

Mengapa garis bawah kosong dalam dokumen wps tidak boleh dicetak? Mengapa garis bawah kosong dalam dokumen wps tidak boleh dicetak? Mar 20, 2024 am 09:40 AM

Apabila memasukkan teks dalam Word, kadangkala beberapa kedudukan perlu digariskan untuk menerangkan atau menekankan Jadi mengapa garis bawah kosong dalam dokumen WPS tidak boleh dicetak? Bagaimanakah saya harus menggariskan? Editor akan memperkenalkannya kepada anda secara terperinci di bawah, mari kita lihat. Dalam dokumen WPS, anda boleh menggariskan ruang kosong, seperti yang ditunjukkan dalam rajah. Bagaimana hendak melakukannya? Sila baca di bawah untuk operasi terperinci. Ambil dokumen dalam gambar sebagai contoh untuk menunjukkan cara menggaris ruang kosong. Letakkan kursor di sebelah kanan kolon "Nama" dalam gambar, dan tekan bar ruang pada papan kekunci Untuk memudahkan demonstrasi, saya telah meningkatkan saiz fon, seperti yang ditunjukkan di bawah: 2. Kemudian, selepas kursor mencapai kedudukan yang ditetapkan, klik dan tahan tanpa melepaskan, dan bergerak ke Seret di sebelah kiri ke sisi kolon, seperti yang ditunjukkan dalam gambar: 3. Kemudian klik ikon "garis bawah", seperti yang ditunjukkan oleh anak panah dalam gambar.

Cara menaip garis bawah dalam excel Cara menaip garis bawah dalam excel Mar 20, 2024 am 08:37 AM

Dengan kemajuan masyarakat, teknologi juga telah berkembang pesat, dan peralatan elektronik telah menjadi konfigurasi standard dalam pejabat hari ini Terdapat pelbagai jenis perisian pejabat hari ini masih merupakan operasi yang biasa digunakan dalam perisian pejabat . Untuk menyerlahkan kandungan ini, kami akan memilih fon warna yang berbeza atau mendalamkan fon, dan kadangkala menggariskannya untuk penekanan Fon mudah ditetapkan, tetapi tidak semua orang tahu cara menambah garis bawah Editor Hari ini saya akan mengajar rakan-rakan baru saya bagaimana untuk menggariskan dalam excel. 1. Buka Excel dan taip beberapa perkataan, seperti yang ditunjukkan dalam gambar di bawah. 2. Pilih teks, klik kanan dan pilih pilihan "Format Sel", seperti yang ditunjukkan dalam rajah di bawah. 3. Cari "garis bawah tunggal" dan

Bagaimana untuk membuang garis bawah dalam css a Bagaimana untuk membuang garis bawah dalam css a Jan 28, 2023 pm 03:07 PM

Cara membatalkan garis bawah dalam css a: 1. Buat fail sampel HTML 2. Tambahkan teg a pada badan 3. Batalkan garis bawah dengan menambah "#none{text-decoration: none;}" pada a yang ditentukan; tag.

Bagaimana untuk menyelesaikan masalah bahawa petikan berganda tidak boleh dimasukkan dalam mesin maya RedHat? Bagaimana untuk menyelesaikan masalah bahawa petikan berganda tidak boleh dimasukkan dalam mesin maya RedHat? Dec 30, 2023 pm 08:01 PM

Saya tidak tahu tetapan apa yang diubah suai hari ini Semasa saya menulis program dalam vim, saya mendapati bahawa petikan tunggal atau petikan berganda tidak boleh ditaip. Kesan tanda petikan berganda ialah ¨¨, yang akan menyebabkan ralat program! Punca masalah ini ialah susun atur papan kekunci tidak sepadan dengan keadaan sebenar dan perlu diubah suai. Penyelesaian kepada tanda petikan tunggal/ganda yang tidak boleh ditaip: (Nota: Jika desktop anda dalam bahasa Inggeris, sila terjemahkannya sendiri.) 1. Klik Sistem-->Pilih Pengurusan-->Pilih Papan Kekunci dan tukar American International kepada American gaya! 2. Klik Sistem-->Pilih Keutamaan-->Pilih Papan Kekunci. Semak sama ada tetapan adalah konsisten dengan gambar di bawah: Kemudian buka semula alat vim dan masalahnya harus diselesaikan!

Bagaimana untuk menggariskan dalam perkataan? Cara menggaris perkataan Bagaimana untuk menggariskan dalam perkataan? Cara menggaris perkataan Mar 06, 2024 pm 03:00 PM

Garis bawah dalam Word boleh digunakan untuk menekankan atau menyerlahkan perkataan, frasa atau ayat, meningkatkan nada atau fokus dan menjadikan teks lebih padat dan boleh dibaca. Dengan menggunakan garis bawah, anda menarik perhatian pembaca dan menjadikan maklumat penting lebih menonjol. Garis bawah juga boleh digunakan untuk mewakili item dalam senarai, menggabungkan satu siri perkataan atau ayat ke dalam senarai yang jelas, menambah baik organisasi dan kebolehbacaan dokumen. Terdapat banyak cara untuk menggaris dalam Word Berikut adalah beberapa kaedah biasa: Bagaimana untuk menggaris dalam Word? Kaedah 1 untuk menggaris dalam Word: Gunakan pintasan papan kekunci: Dalam dokumen, tekan "Kekunci Shift+garis bawah (kunci tanda tolak pada papan kekunci angka)" untuk membuat garis bawah dalam teks. Kaedah kedua, gunakan pemformatan automatik: masukkan

Python atau R: Bahasa pengaturcaraan manakah yang lebih baik untuk sains data? Python atau R: Bahasa pengaturcaraan manakah yang lebih baik untuk sains data? Apr 12, 2023 am 08:28 AM

Sedikit latar belakang tentang R R ialah bahasa pengaturcaraan dan alat analisis yang dibangunkan oleh Ross Ihaka dan Robert Gentleman dan mula diperkenalkan pada tahun 1993. Pada masa yang sama, ia juga merupakan perisian sumber terbuka percuma dengan perpustakaan teknologi statistik dan grafik yang kaya. R ialah salah satu alat yang paling banyak digunakan oleh penganalisis, ahli statistik dan penyelidik untuk mendapatkan, membersihkan, menganalisis, menggambarkan dan mempersembahkan data Banyak industri seperti IT, perbankan, penjagaan kesihatan dan kewangan menggunakan R. Tujuan Saintis data boleh menggunakan bahasa pengaturcaraan R untuk mengumpul data, melakukan analisis statistik dan menghasilkan visualisasi. Ia boleh digunakan untuk perwakilan grafik. R boleh digunakan untuk kedua-dua pembelajaran mesin dan mendalam

Analisis peraturan penggunaan petikan tunggal dan petikan berganda dalam PHP Analisis peraturan penggunaan petikan tunggal dan petikan berganda dalam PHP Mar 05, 2024 pm 09:30 PM

Dalam PHP, petikan tunggal dan petikan berganda ialah dua kaedah pembalut rentetan biasa, dan ia mempunyai ciri dan peraturan yang berbeza apabila digunakan. Artikel ini akan menganalisis peraturan penggunaan petikan tunggal dan petikan berganda masing-masing dan memberikan contoh kod khusus untuk membantu pembaca memahami dengan lebih baik perbezaan mereka. 1. Peraturan untuk menggunakan petikan tunggal: Kandungan dalam petikan tunggal akan dikeluarkan seperti sedia ada, dan pembolehubah atau aksara melarikan diri tidak akan dihuraikan. Ini bermakna bahawa dalam petikan tunggal, PHP mengiktiraf rentetan sebagai urutan aksara biasa dan tidak melakukan apa-apa dengan kandungan. dalam petikan tunggal

See all articles