의미없는 블로그

webhacking.kr (3, 4, 5번) 본문

# 나/pentest (WEB)

webhacking.kr (3, 4, 5번)

SaltLee 2019. 7. 12. 18:01

 

#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
Comments