'* Wargame'에 해당되는 글 48건

코드컴뱃(codecombat) 풀이

* Wargame













페이스북에 떠돌아다니는 코드컴뱃이라는 게임을 해보았습니다.

옛날에도 많이 떠돌았던 것 같은데 그때는 바빠서 못했었고, 지금에서야 해보게되네요!

코드컴뱃(codecombat) 풀이라고 하기엔 너무나 미흡하고 부족하지만 참고가 되었으면 좋겠네요~!

가장 어려웠던 부분하고 까다로웠던 부분을 총정리식으로 해보네요.. 그리고 javascript 코드로 싸운다는것도 신기했던 부분이었다.


Beginner campaign :: Taunt the Guards


이번 문제는 농락하는 가이드편이다.


this.moveRight();

this.bustDownDoor(); //문 부수기


// Delete the "//" in front of each line below.

this.moveRight();

this.say("Hey there!");

this.moveLeft();

this.moveLeft();

this.say("Attack!");


// Now get Phoebe to follow through the dungeon.

this.moveRight();

this.say("Follow me.");  // 기본적인 입력사항

this.moveRight();

this.moveRight();

this.moveUp();

this.moveRight();

this.say("Hey there!");

this.moveDown(); // 다운상태에서 어택을 하라고하면 오크들이 따라오지 않는 버그?!

this.say("Attack!");

this.say("Attack!");

this.say("Follow me."); // 공격후 안따라오길래 넣었습니다.

this.moveRight(); 

this.moveUp();

this.moveRight();


Beginner campaign :: Break the prison


7명의 병사를 구출해야하는데 적들은 탈출시키지않는 문제였다.


// Write this isFriend(name) spell to tell friend from foe.

// Return true for friends' names, false for ogres' names.

if(name === "William"||name==="Lucas"||name==="Marcus"||name==="Robert"||name==="Gordon") // 이름 부분에서 구원할 병사이름을 모두 적었다.

 return true;

    

if(name ==="Krogg") // else if 가 안되길래 이렇게하였다.

    return jump;  // <-- Start here; Krogg is not a friend! 리턴 false 가 안되고, 계속 문을 뿌수길래  jump로 넣어서 점프를 시켰다.



high level random select :: hunter triplets


이리저리 움직이는 적들을 오토타켓으로 하고 자동공격하는 문제였다.


 // This spell runs once per frame.

var enemy = this.getNearestEnemy(); //근처에 있는 적 공격

if (!enemy) return; // 만약 적이 아니면 반환

this.say("Die, " + enemy.id + "!"); // 말하다 '죽이다 적의 아이디!' 

this.setTarget(enemy); // 근처 타겟(적)

this.distanceTo(enemy) // 거리(적)

attackrange; // 공격거리

if(this.distanceTo(enemy) < this.attackRange) // 거리(적) < 공격거리 일 경우 

    this.setAction("attack"); // 선택하여 공격한다. 

    else this.setAction("move"); // 아닐경우 그 장소로 이동을 한다.

// Charge!


high level random select :: emphasis on aim


화살타워는 적들만 골라서 쏘게하는 문제였다.


// The following runs whenever the tower needs

// something to do.


var unit = this.getNearestCombatant(); //근처적과 싸운다.

if (unit && unit.team ==="ogres") { // 유닛과 유닛팀이 ogres = 오크인 경우

    this.say('Perish, ' + unit.id + ' of the ' + unit.team); // 유닛아이디 of the 유닛팀 을 말한다.


        this.attack(unit); // 유닛을 공격한다.

}

else {

    this.say('All clear.'); // 아닐경우 all clear 하다고 말한다.

}


// This tower is too bloodthirsty! 

// Have it check the unit's team before opening fire.

// There are three teams: "ogres", "allies", and "humans".

// If you need help, press Guide at the top.



sword loop


근처있는 적을 자동공격을 하여 8명의 적을 무찔러야하는 문제였다.


// Kill all the ogres.

this.moveDown();

// Now you don't have to write it 5 times. Amazing! Isn't it?

for (var i = 0; i < 6; ++i) {  // Edit the code here. // 6번 반복  

    this.moveRight(); // 오른쪽으로 움직인다.

    this.attackNearbyEnemy(); // 근처적 공격

}


this.moveXY(159,60); // 물약 좌표위치

this.moveXY(160,45); // 적의 위치

this.attackNearbyEnemy(); // 근처적 공격 반복

this.moveXY(183,60);

this.moveXY(184,45);

this.attackNearbyEnemy();

this.moveXY(206,60);

this.moveXY(207,45);

this.attackNearbyEnemy();


// Kill the other ogres.

// Take care of your health also.

// Use a for-loop and you'll kill them all in just a few more lines.


'* Wargame' 카테고리의 다른 글

코드컴뱃(codecombat) 풀이  (0) 2014.03.28
웹관련 워게임 도움되는 부분  (0) 2012.08.27
wargame.kr 가입문제  (0) 2012.02.21
Name
Password
Homepage
Secret

webhacking.kr 17번 문제

* Wargame/WebHacking












오랜만에 웹해킹문제를 올려봅니다.


webhacking.kr 17번 문제 




이번 문제의 check 화면이 뜨네요. 무엇을 요구하는 것일까? 라고 생각해보니 javascript/js4  자바스크립트 문제인 것 같네요.






소스화면을 봅시다.

Challenge 17 문제의 passwd 는 check 박스 버튼을 누르면 나온다고 하네요. 그리고 script 자바 부분을 보면 unlock 하라고 하네요.

해제를 해야하는데 너무 복잡해보입니다. 이걸 어떻게 연산해.. 싶기도 하고  반복되고 연속적인 맥클로니 급수인가? 싶기도 하고?

여기서 풀이법은 두가지가 있습니다.




F12를 눌러 Console 창에 넣으면 알아서 소스를 해석하여 login.pw.value 를 주는 것입니다. 

이것을 넣고 입력하면 Auth 에 넣을 수 있는 값을 주어주겠지요..




그리고 정상적인 원래 풀이 같습니다. javascript:alert(unlock)  자바스크립트의 네모화면에 unlock 을 띄워라 라는 식이였고,

그렇게 하여 값을 넣게되면 패스워드가 나오며 Auth에 넣을 값이 화면에 뜹니다. 


'* Wargame > WebHacking' 카테고리의 다른 글

webhacking.kr 17번 문제  (0) 2014.01.13
webhacking.kr 26번 문제  (2) 2012.11.29
webhacking.kr 16번 문제  (0) 2012.11.29
webhacking.kr 39번 문제  (0) 2012.11.28
webhacking.kr 38번 문제  (0) 2012.11.28
Name
Password
Homepage
Secret

webhacking.kr 26번 문제

* Wargame/WebHacking












webhacking.kr 26번 문제


웹해킹 26번 문제




웹해킹 문제 화면이다.




index.phps 를 클릭하고 화면에 나타난 소스이다.





url 디코딩한 id 가 get[id]이라고 한다.


admin을 url인코딩한값은 %61%64%6d%69%6e입니다.

get메소드이므로 id에 넣습니다.


eregi의 필터링에 걸렸습니다.


원래 url디코딩을 해지기 때문에 인코딩을 두 번 해보면,

다음은 admin을 url인코딩 두 번 한 값이다. %2561%2564%256d%2569%256e




그래서 webhacking.kr/challenge/web/web-11/?id=%2561%2564%256d%2569%256e


입력하면 16번 문제 클리어!





'* Wargame > WebHacking' 카테고리의 다른 글

webhacking.kr 17번 문제  (0) 2014.01.13
webhacking.kr 26번 문제  (2) 2012.11.29
webhacking.kr 16번 문제  (0) 2012.11.29
webhacking.kr 39번 문제  (0) 2012.11.28
webhacking.kr 38번 문제  (0) 2012.11.28
BlogIcon Netcraft 2012.12.28 20:45 신고 URL EDIT REPLY
감사합니다
BlogIcon Mayones Legend 2013.01.03 17:45 신고 URL EDIT REPLY
감사합니다
Name
Password
Homepage
Secret

webhacking.kr 16번 문제

* Wargame/WebHacking












webhacking.kr 16번 문제


웹해킹 16번 문제


100점짜리 문제이다.




16번 문제화면이다.

이것은 무엇인가? 라는 생각을 많이 했었다.

F5 키 새로고침을 계속 눌러보면 별모양의 색만 계속 바뀌는 것이 무엇을 뜻하는 걸까? 라는 것을 많이 고민했었다.







일단 소스를 보았다.

위에 문제는 javascript 를 사용하였기 때문에 이것과 관련이 있을 것이라 생각하였고, script 를 중점적으로 보았다.

여기서 잘 보면 if(cd==124) location.href=String.fromCharCode(cd);

cd가 아스키코드 124(|)일 경우 location.href=Striode(cd);

주소는 |를 붙여서 http://webhacking.kr/challenge/javascript/%7C 로 넘어가게 된다.


그러므로 위와 같은 /javascript/%7C 를 더 붙여쓰면 이것을 Auth 에 입력하면 

웹해킹 16번 문제 클리어!




'* Wargame > WebHacking' 카테고리의 다른 글

webhacking.kr 17번 문제  (0) 2014.01.13
webhacking.kr 26번 문제  (2) 2012.11.29
webhacking.kr 16번 문제  (0) 2012.11.29
webhacking.kr 39번 문제  (0) 2012.11.28
webhacking.kr 38번 문제  (0) 2012.11.28
Name
Password
Homepage
Secret

webhacking.kr 39번 문제

* Wargame/WebHacking












webhacking.kr 39번 문제


100점짜리 문제이다.



39번 문제화면






index.phps 을 입력한 소스이다.

$_POST[id]는 0~15 글자이다.

\\ 역슬래쉬는 "" 없어지는 것이고, '(싱클쿼터) 는 ''(더블쿼터)로 바뀐다.

substr 은 지정된 문자열에서 지정한 부분만 들고오는 것이다.




$q=mysql_fetch_array(mysql_query("select 'good' from zmail_member where id='$_POST[id]")); 부분에서 잘보면 id='$_POST[id]에 '(싱글쿼터) 부분이 닫혀있지 않아 오류가 발생한다.









'* Wargame > WebHacking' 카테고리의 다른 글

webhacking.kr 26번 문제  (2) 2012.11.29
webhacking.kr 16번 문제  (0) 2012.11.29
webhacking.kr 39번 문제  (0) 2012.11.28
webhacking.kr 38번 문제  (0) 2012.11.28
webhacking.kr 11번 문제  (0) 2012.11.28
Name
Password
Homepage
Secret

webhacking.kr 38번 문제

* Wargame/WebHacking













webhacking.kr 38번 문제


웹해킹 38번 문제


100점짜리 문제이다.




웹해킹 38번 문제 화면

aaaaaaaaa 입력했는데 아무화면이 안뜨지만 Admin 으로 가면 나의ip:aaaaaaaaa 라고 뜬다.




admin을 입력해보았다. 위와 같은 화면이 뜨길래 무언가 틀리구나라는 것을 직감하고 






위와 같이 입력하면


Clear !


'* Wargame > WebHacking' 카테고리의 다른 글

webhacking.kr 16번 문제  (0) 2012.11.29
webhacking.kr 39번 문제  (0) 2012.11.28
webhacking.kr 38번 문제  (0) 2012.11.28
webhacking.kr 11번 문제  (0) 2012.11.28
webhacking.kr 27번 문제  (3) 2012.11.21
Name
Password
Homepage
Secret