의미없는 블로그
webhacking.kr (3, 4, 5번) 본문
#3번 ----------------------------------------------------------------------------------------------------
3번 문제 별로 맘에 안든다
뭔가.. 음 그래
스도쿠처럼 그냥 풀어봤음 gogo
문제 풀면 이렇게 text 상자 하나 나온다
아무거나 넣고 write 클릭해봄
내가 쓴거랑 이상한 숫자랑 내 공인 IP 나온다
aaa 는 내가 쓴건데 answer 랑 IP 는 어디서 가져온 것인가~ 하고 생각해 볼 수 있겠다
aaa 써서 넘길때 hidden 파라미터로 answer 가 있었다
IP 는 서버측에서 받나봄 안보임~ 별로 중요하지 않고
answer 에 왠지 그냥 다른값 넣어보고 싶어서 해봄
answer 에 다른값 넣으니 query error 난다~
answer 를 조작해서 SQL 인젝션을 해볼 수 있겠다
잘 생각해야 하는 것이..
일단 answer 에 ', =, or 등 구문은 막혀있다 이것들을 쓸거면 우회해서 사용해야 하고
여기서 내가 answer, id 값 날리면 대략 아래 쿼리처럼 입력될 것이다
insert into table(answer, name, ip) values (aaa, 10101000..., 203.236.5.83)
그리고 대략 아래 쿼리처럼 뽑아오겠지...
select answer, name, ip from table where answer=10101000... name=aaa and ip=203.236.5.83
그렇다면 뭔지 몰라도 일단 answer 파라미터에 SQL 인젝션 가능성이 있으니까
10101000... or 1 이든 10101000' or 1 이든 (싱글쿼터는 실제 쿼리에서 쓰는지 안쓰는지 몰라서 둘다 해본다)
저렇게 쿼리를 입력하면 참 쿼리를 만들 수 있다
왜냐면 아래처럼 or 구문으로 나뉘면서 항상 참인 쿼리가 되니깐~
select name, answer, ip from table where answer=10101000... or 1 and name=aaa and ip=203.236.5.83
그래서 DB의 모든 결과가 다 출력된다~ 맞나?
'# 나 > pentest (WEB)' 카테고리의 다른 글
Lord of SQL Injection (2번) (0) | 2019.07.17 |
---|---|
Lord of SQL Injection (1번) (0) | 2019.07.16 |
webhacking.kr (1, 2번) (0) | 2019.07.09 |
webhacking.kr (0) | 2019.07.09 |
Lord of SQL Injection (15, 16, 17, 18번) (0) | 2019.07.03 |