어려워보인다..

일단, id와 pw 파라미터에 prob, _ , . , ', " 모두 필터링된다.... 그럼 싱글쿼터 우회로 풀리는 단순한 게 아니라는 뜻..

이전 문제들과 다른 점은 id 파라미터에 값이 들어오면 query2 가 또 보여진다는 것.. query2가 실행되고 그 query2에서의 id값이 admin이어야 풀리는 문제이다.

그럼 일단은 id가 유효하게 쿼리를 던져야 한다.

일단은 예전에 풀었던 문제처럼 \ 를 이용하는 것 같다

 

예전 payload와 거의 동일하게 했는데도 안 풀렸다.. id의 값 [ \' and pw=] 를 문자열로 만들고 id = '[~]' or 1=1 로 true 로 만들어도 소용이 없다.

아마도 id값이 이상해서 그런 거 같다. (id에 포함되어진 싱글쿼터는  \ 로 인해 문자가 되어버려서 필터링에도 안 걸린다) 

데이터베이스에 존재하는 id값을 admin 말고는 모르니..무슨 공격을 해야할까.. 하다가 도움을 받았다ㅠㅠ

union select 를 사용하여 행을 추가하는 것이다.

하ㅠ 

sql test 사이트에서 동일한 조건을 구성해놓고 실습해봤다. 

id 값을 \ 로 문자열로 만들어 버리고.. 뒤에 바로 union select (컬럼갯수만큼)  던졌더니 union select문이 실행됐다.

이 실습 데이터에서는 열의 갯수가 5개 이므로 union select 1,2,3,4,5 # 로 시도했다.

데이터베이스의 컬럼 갯수는 모르니까 union select 1 부터 차근차근 했더니 query2를 볼 수 있었다.

이 테이블의 컬럼 갯수는 2개인 듯 하다. (id와 pw)

지금 query2의 id값이 1로 되어 있으니.. admin으로 바꿔주면 되겠다!

읭..  query2도 없어졌다.. 아마도 id = 'admin' 으로 감싸져야 하는데 그대로 admin만 들어가서 그런 거 같다. 

싱글쿼터를 막고 있으니.. 다르게 admin값을 넣어줘야 한다. 

예전 문제 step3를 보면 hex값으로 변환해서 넣어준 적이 있다. 이걸 이용해보자

으잉.. 잘 admin이 들어갔는데 왜 안돼...

ㅠㅠㅠㅠㅠㅠㅠㅠ

도저히 감이 안와서 서칭을 해본 결과 char()함수를 써야 한다고 한다.......어려워 어려워

char함수는 아스키코드값을 문자로 변환하는 함수 이므로 char 안에 [admin]의 아스키코드 값이 들어가야 하는 것 같다.

내가 싱글쿼터를 넣지 않아도 이런식으로 char(아스키코드값) 으로 문자를 넣을 수 있다.

뭔데 얘도 안된다...

여기서부터 뭔가 잘못됐다. query2에서 id 값이 admin이 들어왔음에도 안되는 것을 보아 query2 또한 우회를 해야 하는 것 같다.

그래서 query2에도 필터링이 있는 게 그 이유인 듯..

똑같이 query2에도 싱글쿼터를 이용할 수 없다. 그러면 \  부터..

하지만 query2에서의 id 파라미터에는 \ 가 먹히지 않는다 ㅠㅠ 그래서 여기서부터 또 우회...

\를 다시 hex값으로 바꾸니 잘 들어간다.. 그러면 이제 \ 이후를 모두 문자열로 만들었으니.. pw 파라미터에 id = admin을 만들어줘야 한다. 하지만 싱글쿼터가 필터링 되기 때문에 여기에도 union select를 이용하여 id 파라미터에 admin 붙어줘야 겠다..

즉, id = ' \ ' and pw= ' union select admin #
\로 인하여  [\ ' and pw=] 전체가 그냥 문자열이 되어버리기 때문에  [\ ' and pw=]와 admin을 union select로 붙어줘야 할 것 같다.

두번째 query2에서 \ 역시 hex화 했던 거와 동일하게 union select admin 자체를 hex값으로 전환해야 할 것만 같다.

어렵다 어려워

hex로 변환

hex값으로 변환했음에도 안되는 걸 보니 admin 을 앞서 했던 char() 함수를 이용하여 변환해야 겠다..

 

갈 길이 멀다..

'WEB > Lord of SQLinjection' 카테고리의 다른 글

[LOS] step27. blue_dragon 풀이  (0) 2023.06.22
[LOS] step26. red_dragon 풀이  (0) 2023.06.22
[LOS] step24. evil_wizard 풀이  (0) 2023.06.21
[LOS] step23. hell_fire 풀이  (0) 2023.06.21
[LOS] step22. dark_eyes 풀이  (0) 2023.06.20

+ Recent posts