'Wargame'에 해당되는 글 454건

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

메모 기록용 공간

,

webhacking.kr 50번 문제다.

점수는 450 point.

sql injection문제다. 

소스 있길래 확인해 봤다.

45번에서 봤던 mb_convert_encoding 함수가 보인다. '쿼터 우회해서 3값만 나오게하면 간단할 것 같다. 근데 union이 id에서 필터를 당한다. 그러면 union을 pw쪽에서 주면 될 것 같다.
id=%aa'/*&pw=*/union%09select%093# 이런식으로 주면

select lv from members where id='%aa'/*' and pw=md5('*/union select 3#')

/**/주석처리로 인해 빨간 부분들이 날라간다.

이제 위에 특수기호만 url인코딩해서 넘겨줘봤다.

성공!


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

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

JeonYoungSin

메모 기록용 공간

,

webhacking.kr 49번 문제다.

점수는 300 point.

들어가보니 sql 인젝션문제라고 알려준다. 1이있길래 눌러보니 다음과 같이 나온다. 다른값을 줬을 땐 암것도 안나온다.

소스있길래 확인해보니 lv가 필터링 되고있다. 우회해서 admin만 뽑아내면 될 것 같다. 

0 or id='admin' 일케 주면 무난할 것 같다.
위의 필터링에 안걸리게 다른방법으로 대체해서 다시 짜주면
0%0a||%0aid=0x61646d696e로 입력해봤다.

성공!


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

webhacking.kr 51번  (0) 2018.01.17
webhacking.kr 50번  (0) 2018.01.17
webhacking.kr 48번  (0) 2018.01.17
webhacking.kr 47번  (0) 2018.01.17
webhacking.kr 46번  (0) 2018.01.17
블로그 이미지

JeonYoungSin

메모 기록용 공간

,