'분류 전체보기'에 해당되는 글 1000건

root-me PHP filters

2018. 1. 18. 10:55

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

root-me Improper redirect

2018. 1. 18. 10:34

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

root-me Install files

2018. 1. 18. 10:32

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

root-me HTTP verb tampering

2018. 1. 18. 10:23

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

root-me HTTP Headers

2018. 1. 18. 10:08

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.


현재 서버 문제로 막혀있는 19,28,30번 제외하고 올클했다. 62번부터 문제준비중이신거 같은데 새로 생기면 다시 더 풀어보고 싶다. 


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

webhacking.kr 53번  (0) 2018.01.18
webhacking.kr 52번  (0) 2018.01.18
webhacking.kr 51번  (0) 2018.01.17
webhacking.kr 50번  (0) 2018.01.17
webhacking.kr 49번  (0) 2018.01.17
블로그 이미지

JeonYoungSin

메모 기록용 공간

,

webhacking.kr 53번 문제다.

점수는 350point.

들어가 보면 별거 없고 저거하나 나온다.

친절하게도 소스를 보여준다.

val값으로 $hidden_Table을 알아내야 되는데 기존에 알고 있는 지식으론 풀수가 없어서 살짝 힌트참고 ㅠ 

보니까 procedure analyse()라는 함수를 써보면 될 것 같다.

뭔가하고 찾아보니현재 실행중인 컬럼에 대한 정보를 사용가능하게  해준단다.

한번 실제로 사용을 해봤다.

첫번 째 리턴값으로 출력되는 값을 보내 DB명.테이블명.컬러명 으로 출력되고 있다.

그렇다면 ?val=3 procedure analyse()로 주면 될 것 같다.

중간에 테이블명 넣어주면 된다.

성공!


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

webhacking.kr All clear  (0) 2018.01.18
webhacking.kr 52번  (0) 2018.01.18
webhacking.kr 51번  (0) 2018.01.17
webhacking.kr 50번  (0) 2018.01.17
webhacking.kr 49번  (0) 2018.01.17
블로그 이미지

JeonYoungSin

메모 기록용 공간

,

webhacking.kr 52 문제다.

점수는 200point. 

헤더 인젝션 문제다.

php가 \r\n을 필터링안하면 이를 이용해 헤더에 내가 원하는 헤더값을 저장할 수 있는 CRLF 공격을 
시도해봤다. 첨에 %0A%0DSet-cookie:%20id:dudtls36 으로 넣어봤는데 set-cookie가 막혀있는지 실행이 안되서 막힌문제가 싶었는데 자세히 읽어보니 클리어조건에 set-cookie대신 clear: dudtls36으로 적어내라 적혀있었다.

 

성공! 이전에 헤더 인젝션을 몇 번 봐서 기초적인 수준문제라 금방 풀 수 있었다.


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

webhacking.kr All clear  (0) 2018.01.18
webhacking.kr 53번  (0) 2018.01.18
webhacking.kr 51번  (0) 2018.01.17
webhacking.kr 50번  (0) 2018.01.17
webhacking.kr 49번  (0) 2018.01.17
블로그 이미지

JeonYoungSin

메모 기록용 공간

,

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.


webhacking.kr 51번 문제다.

점수는 250point.

흠 관리자로 들어가면 될 것 같다. 인젝션 문젠가?

소스있길래 확인해보니 md5($_POST[pw],true)가 눈에 띈다. 이거 예전에 wargame.kr에서 봤던 건데 출력값을 16진수가아니고 바이너리로 해줘서 '='가 포함된 출력값을 뱉는 애를 찾아주면 된다.


MySQL에서 WHERE 조건절에 pw='ABCD'='EFGH' 이와 같이 비교를 두 번하면 마지막에 있는 값은 앞에 있는 값이 참이냐 거짓이냐를 비교한다. 예를들면
select id from challenge_51_admin where id='$input_id' and pw='$input_pw'
id는 admin을 입력하고 pw에는 ABCD'='EFGH 를 입력하면 결과는 다음과 같다.
select id from challenge_51_admin where id='admin' and pw='ABCD'='EFGH'
select id from challenge_51_admin where id='admin' and pw='ABCD'='EFGH'
pw가 ABCD는 거짓이다.
select id from challenge_51_admin where id='admin' and 거짓='EFGH'
EFGH는 문자이기 때문에 거짓과 같은 의미를 가진다.
select id from challenge_51_admin where id='admin' and 거짓=거짓
따라서, 거짓=거짓은 참이기 때문에 참인 조건이 된다.

그럼이제 '='뱉는 애만 찾아내면 될 것 같다.코드짜서 돌려봤다.

11616635 비번주고 실행해봤다.

Clear!


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

webhacking.kr 53번  (0) 2018.01.18
webhacking.kr 52번  (0) 2018.01.18
webhacking.kr 50번  (0) 2018.01.17
webhacking.kr 49번  (0) 2018.01.17
webhacking.kr 48번  (0) 2018.01.17
블로그 이미지

JeonYoungSin

메모 기록용 공간

,