Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total
관리 메뉴

의미없는 블로그

Lord of SQL Injection (1번) 본문

# 나/pentest (WEB)

Lord of SQL Injection (1번)

SaltLee 2019. 7. 16. 16:59

 

https://los.eagle-jump.org/

 

인젝션 연습 사이트~

그냥 회원가입 하고 하면 된다

 

 

#1번 -----------------------------------------------------------------------------------------------------------

 

if($result['id']) solve("gremlin"); 라고 되어있는데

$result['id'] 가 참이어야 문제가 풀린다고 하네

 

바로 그 위에 보면 

$result = @mysql_fetch_array(mysql_query($query)) 로 쿼리를 실행시켜서 결과를 저장하고 있지롱

mysql_query 는 쿼리 실행시키는 거고

mysql_fetch_array 는 쿼리를 실행한 결과 출력되는 첫 행의 값들을 배열로 저장한다고 한다

$result[필드명] 하면 출력된 첫 행에서 그 필드명에 해당하는 값을 의미

 

만약에 쿼리가 아래와 같으면

$result 는 test, test, 조성현, 111111-1111111 ..... 이 되는건가? 

그럼 $result[mem_id] 는 test 이겠꾼

무튼 이런식이다

 

어쨌든 $result['id'] 가 참이라는 것은

if 문에서 참은 0 이외의 모든 값이니깐 뭐라도 한줄 결과가 출력되면 다 참이 된다고 볼 수 있겠다

뭐라도 한줄 출력되면 그 줄의 id 필드값이 $result['id'] 가 되는거니깐..

 

즉 참인 쿼리를 만들어 주기만 하면 된다~

쿼리를 참으로 만들어 주면 아래와 같이 최소 한줄 이상은 뜨지

 

다시 코드를 보면

{$_GET[id]}, {$_GET[pw]} 로 id, pw 값 받아서 쿼리에 넣고 있으므로

id, pw 파라미터 2개를 생성할 수 있겠다

 

id=1' or 1=1# 하면 전체 쿼리는 참이 되어 GREMLIN Clear!

 

아래처럼 해도 된다

id=admin'# (아이디 알고있는 경우)

pw=1' or 1=1#

pw=1' or 1='1 

'# 나 > pentest (WEB)' 카테고리의 다른 글

[Tools] Echo Mirage 사용하기  (0) 2019.08.02
Lord of SQL Injection (2번)  (0) 2019.07.17
webhacking.kr (3, 4, 5번)  (0) 2019.07.12
webhacking.kr (1, 2번)  (0) 2019.07.09
webhacking.kr  (0) 2019.07.09
Comments