의미없는 블로그
Lord of SQL Injection (2번) 본문
#2번 -----------------------------------------------------------------------------------------------------------
if($result['id'] == 'admin') 이어야 solve 니까
쿼리 결과의 첫 행이 무조건 admin 이어야 한다~
DB 테이블에 첫 행이 admin 으로 저장되어 있다면 그냥 쿼리를 참으로 만들어 주기만 해도 될텐데
왜냐면 쿼리가 참이면 DB 모든 결과가 출력되므로
어차피 첫 행은 admin 이니까 $result['id'] == 'admin' 을 만족
id | pw | |
1 | admin | 1234 |
2 | guest | 5678 |
DB 테이블에 첫 행이 admin 이 아니라면 id='admin' 으로 지정해줘야 할 것이다~
이렇게 DB에 저장되어 있다면
id | pw | |
1 | guest | 5678 |
2 | admin | 1234 |
아래처럼 출력되게 만들어 줘야
$result['id'] == 'admin' 을 만족하게 되므로..
id | pw | |
2 | admin | 1234 |
pw=') or 1=1# 하면 전체 쿼리는 참이 되는데
DB에 첫 행이 admin 이 아니고 rubiya 로 저장되어 있나 보다~
첫 행이 admin 이 출력되도록 하려면
pw=') or id='admin' and 1=1# 해서 id 를 admin 으로 지정해주면 된다~
'# 나 > pentest (WEB)' 카테고리의 다른 글
protostar1 - stack0.c (다른 변수 덮어씌우기) (0) | 2019.08.06 |
---|---|
[Tools] Echo Mirage 사용하기 (0) | 2019.08.02 |
Lord of SQL Injection (1번) (0) | 2019.07.16 |
webhacking.kr (3, 4, 5번) (0) | 2019.07.12 |
webhacking.kr (1, 2번) (0) | 2019.07.09 |
Comments