[그림 1]

뭐 여러가지 필터링이 되어 있고 get방식으로 보내진 id 가 쿼리문을 지나 받은 result가 admin이면 풀린다는 것 같다.

이 문제는 컬럼 별칭을 이용해  원하는 컬럼에 값을 넣도록 해서 해결하는 방식이다.

 

select {$_GET['id']} from chall61 order by id desc limit 1

내림차순으로  1개만 골라 낸다는 뜻이다.

 

평소 자주 쓰던 char()은 필터링에 걸려 있다.

hex값으로admin을 넣어주면 의미는 같다.

 

0x61646d696e id

 

select 0x61646d696e id from chall61 order by id desc limit 1

id라는 컬럼에 0x61646d696e값이 들어가고 id라는 컬럼을 내림차순으로 하나라는 뜻이다.

 

[그림 2]

클~

'Challenge > webhacking.kr' 카테고리의 다른 글

Webhacking 22번 문제 풀이  (0) 2020.12.01
Webhacking 60번 문제 풀이  (0) 2020.02.22
Webhacking 59번 문제 풀이  (0) 2020.02.22
Webhacking 58번 문제 풀이  (0) 2020.02.20
Webhacking 56번 문제 풀이  (0) 2020.02.20

[그림 1]

파일 하나가 생성되고 1초만에 지워진다.  이 파일을 건드릴수 있다면 문제가 풀린다.

 

쿠키값을 겹치지 않게 숫자로 수정해주고 재로그인한후 ?mode=auth로 접속했다.

 

vm을 사용해서 파일을 생성하였고, 삭제되기전에 크롬으로 낚아챘다.

[그림 2]

'Challenge > webhacking.kr' 카테고리의 다른 글

Webhacking 22번 문제 풀이  (0) 2020.12.01
Webhacking 61번 문제 풀이  (0) 2020.02.22
Webhacking 59번 문제 풀이  (0) 2020.02.22
Webhacking 58번 문제 풀이  (0) 2020.02.20
Webhacking 56번 문제 풀이  (0) 2020.02.20

[그림 1]
[그림 2]

소스 코드를 통해 result['lv'] == admin 이면 문제가 풀린다는 것과 lid, lphone은 login을 id, phone은 join과 연관 있다는 것을 짐작 할 수 있다.

 

id는 admin이란 글자가 필터링 되어 있으며 phone은 20자리가 넘으면 안된다고 되어 있다.

ladmin이 되게 생성 해주고 그 계정으로 로그인 하면 풀릴 문제다.

 echo "id : {$result['id']}<br>lv : {$result['lv']}<br><br>";

음 id, lv이 표시되나보다. 이걸로 확인 하면서 구문을 수정해 나가면 될듯 하다.

 

reverse 함수를 이용하여 문제를 풀도록 했다.

[그림 3]

주석을 사용하여 뒷 구문을 다 씹도록 하였다.(phone에 숫자는 뭐가 들어가든 상관 없다.)

 

insert into chall59 values('{$_POST['id']}',{$_POST['phone']},'guest')

이를 보면 id, phone, guest 순으로 값이 정렬된다.

 

insert into chall59 values(nimda,1,admin);-- ,'guest')

구문에 따라 값을 넣어보면 이런식으로 들어간다.

 

insert into chall59 values(nimda,1,admin);-- 

주석문으로 뒤를 다씹게 되면 온전한 하나의 쿼리문이 된다.

[그림 4]
[그림 5]

'Challenge > webhacking.kr' 카테고리의 다른 글

Webhacking 61번 문제 풀이  (0) 2020.02.22
Webhacking 60번 문제 풀이  (0) 2020.02.22
Webhacking 58번 문제 풀이  (0) 2020.02.20
Webhacking 56번 문제 풀이  (0) 2020.02.20
Webhacking 54번 문제 풀이  (0) 2020.02.20

[그림 1]

공허하다 음 뭔가 입력할수 있는듯 싶다.

아무값이나 입력 했더니 command not found란다.

command라길래 help를 입력해 봤다.

[그림 2]

사용할수 있는 커맨드가 보여진다.

다른건 별 소용이 없어 flag를 쳐보았다.

[그림 3]

admin이 아니면 안보여주나 보다.

당장에 더이상 얻을수 있는게 없어서 소스코드를 확인했더니 script구문이 있었다.

[그림 4]

심지어 username default가 guest로 되어 있는 것까지 확인했다. 이걸 admin으로 바꿔 보내면 될듯 싶다.

[그림 5]

코드를 콘솔에 입력해주고 다시금 falg를 요청하면

[그림 6]

flag를 준다.

 

[그림 7]

'Challenge > webhacking.kr' 카테고리의 다른 글

Webhacking 60번 문제 풀이  (0) 2020.02.22
Webhacking 59번 문제 풀이  (0) 2020.02.22
Webhacking 56번 문제 풀이  (0) 2020.02.20
Webhacking 54번 문제 풀이  (0) 2020.02.20
Webhacking 53번 문제 풀이  (0) 2020.02.19

[그림 1]

readme를 눌러보면

[그림 2]

hi~를 눌러보면

[그림 3]

search의 용도를 찾아보려 이것 저것 시도해 보았다.

제목을 입력하면 아무것도 안나오고 hi,  flag를 입력하자 readme가 나왔다.

이걸 어떻게 할까 한참 고민하고 search로 여러 방법을 수행해보다가 자릿수와 관련이 있다는것을 알았다.

h, he, hel 이런식으로 넣어주니 guest가 나왔다.

flag의 경우 44자 일때까지 결과 값이 나왔다.

 

이걸 코드로 작성해서 한글자 한글자 따와야 될것 같다.

 

코드를 작성해서 돌려보면

 

FLAG_HIMIKO_TOGA_IS_CUTE_DONT_YOU_THINK_SO? 라는 flag가 나온다.

 

[그림 5]

이 문제는 기존 blind sql 풀때 코드 짰었는데 그게 도움이 된것 같다.

'Challenge > webhacking.kr' 카테고리의 다른 글

Webhacking 59번 문제 풀이  (0) 2020.02.22
Webhacking 58번 문제 풀이  (0) 2020.02.20
Webhacking 54번 문제 풀이  (0) 2020.02.20
Webhacking 53번 문제 풀이  (0) 2020.02.19
Webhacking 51번 문제 풀이  (0) 2020.02.19

[그림 1]

자기맘대로 혼자 FLAG{~~~~~~~~~}를 보여준다.

[그림 2]

스크립트로 되어 있으니 스크립트를 짜서 받아봐도 되고 방법은 여러가지다.

1. burp suite를 이용하여 한글자 한글자 넘겨주며 확인해보기

2. F12 네트워크 response 확인

 

FLAG{a7981201c48d0ece288afd01ca43c55b}

[그림 3]

'Challenge > webhacking.kr' 카테고리의 다른 글

Webhacking 58번 문제 풀이  (0) 2020.02.20
Webhacking 56번 문제 풀이  (0) 2020.02.20
Webhacking 53번 문제 풀이  (0) 2020.02.19
Webhacking 51번 문제 풀이  (0) 2020.02.19
Webhacking 50번 문제 풀이  (0) 2020.02.19

+ Recent posts