webhacking 15번 문제

Webhacking 2015. 10. 12. 21:05

안녕하세요. 오늘은 webhacking 15번 문제를 풀어보겠습니다.

홈페이지로 들어가 webhacking 15번을 눌러주세요.


?????? 들어가니까 바로 접근 거부라면서 팅겨져 나갑니다. 

그런데 팅겨져 나갈때 얼핏 보니까 패스워드 어쩌구 저쩌구 적혀있는 것을 보실 수 있습니다.

이런건 그냥 간단하게 노가다식으로 봐서 풀어도 됩니다만 그래도 명색이 문제니까 조금 다른 방법으로 풀어봅시다.

인터넷 오른쪽 상단의 막대기 버튼을 눌러 크롬 설정 창으로 갑시다.

누르면 나오는 탭에서 하단쪽의 고급 설정 표시를 눌러 줍시다.

누르셨다면 뜨는 부분에서 콘텐츠 설정을 누릅시다.

누르면 나오는 창을 보시면 자바스크립트 쪽이 보입니다. 예외관리를 눌러줍시다.

예외관리를 누르면 뜨는 창에서 아까 접근거부됐던 15번 문제 주소를 추가하고 동작을 차단이라고 적어줍시다. 다됐으면 완료버튼을 누릅시다.

그리고 바로 15번 주소를 입력하고 엔터를 칩시다.

그다음 개발자 도구를 봐주시면 느긋하게 패스워드를 확인 할 수 있습니다.

off_script이군요. 입력하러 가 봅시다. 물론 패스워드를 확인했다면 크롬설정을 원래대로 해주셔야 합니다. challenges - Auth로 가서 인증합시다.

문제가 해결된 것을 볼 수 있습니다.

점수가 짠 이유가 있었습니다.

네 이것으로 문제풀이를 마치겠습니다.

'Webhacking' 카테고리의 다른 글

webhacking 4번 문제  (0) 2015.10.13
webhacking 6번 문제  (0) 2015.10.12
webhacking - 26번 문제  (0) 2015.10.02
webhacking - 18번 문제  (0) 2015.10.02
webhacking - 60번 문제  (0) 2015.09.25
Posted by englishmath
,

php 함수

php함수 설명 2015. 10. 12. 17:28

이글은 이번 워게임에서 쓰이는 php 함수를 설명하는 글입니다. 추후 계속 추가할 예정입니다.

eregi

대소문자를 구분하지않고 검색할 때 쓰이는 판별식입니다. 사용법은

eregi(검색할 문자, 문자열) 입니다. 예를 들어 보면

eregi("A",$no) 

는 no라는 변수안에 A가 있는지 없는지 찾는 것이지요. no값에 A가 있으면 값은 참이 되고 없으면 거짓이 됩니다. 판별식이기 때문에 if랑 많이 쓰이지요. 예를 들어

if(eregi("A",$no)) echo ("A는 no안에 있습니다.")

는 no값에 A가 있을 경우 문자열을 출력하라는 뜻이 됩니다. 추가로 여러개를 검사하고 싶으시면 구분선으로 |를 사용합니다.

ex)

eregi("A|B",$no) 

는 no라는 변수안에 A나 B가 있는지 없는지 찾는 것입니다. or식으로 연산하기 때문에 A와 B 둘중 하나만 있어도 참으로 인식되어 버립니다. 참고로 검색할 문자는 공백도 포함됩니다.

ex)

eregi(" |B",$no)

는 no라는 변수안에 공백 또는 B가 있는지 없는지 찾습니다.

마지막으로 구분선으로 쓰는 |가 문자열에 있는지 없는지 찾기 위해선 \|를 써야 합니다.

ex)

eregi("\||B",$no)

는 no라는 변수안에 |또는 B가 있는지 없는지 찾습니다.

urldecode/urlencode

사용법은 urldecode(문자열)/urlencode(문자열) 이며 해당문자열을 url디코딩/url인코딩 해주는 함수입니다.

str_replace

[dddfsffefdfs출처 [PHP]eregi| 임고미


]str_replace

해당 문자를 치환할때 쓰이는 함수입니다. 사용법은

str_replace(바꿀문자,바꿀내용,문자열) 입니다.

ex)

str_replace(A,B,$abc)

abc에 있는 A를 B로 치환한다는 뜻입니다.  

function 

사용자가 원하는 기능을 수행하는 역할을 하는 즉 사용자가 정의한 함수란뜻입니다.  기본적으로 제공하는 함수가 아니라 사용자의 필요에 의해 만들어진 함수를 말하지요.

사용방법은 

function 함수명(매개변수) 입니다.

ex)

function a($b,$c)

{
    echo $b+$c;

}

a(1,1)

이 함수에 의해 결과는 2를 출력하게 됩니다.


Posted by englishmath
,

sql 용어

sql 용어 설명 2015. 10. 12. 16:50

이글은 이번 워게임에서 쓰이는 sql 용어를 설명하는 글입니다. 추후 계속 추가할 예정입니다.

mysql_query

간단하게 sql 명령어를 실행시켜주는 함수입니다.
sql 명령어는 여러가지가 있습니다만 많이 쓰이는 명령어를 일단 적어보겠습니다. 물론 sql명령어도 추후 추가할 예정입니다.
select
검색한다라는 뜻을 가지고 있고 실제로고 검색을 하는데 쓰이는 명령어입니다. 보통 혼자 쓰이지 않고 from 이랑 같이 쓰입니다.
사용방법은 select (찾을항목) from (테이블) 입니다. 
제가 a라는 테이블에서 id라는 항목을 검색하고 싶다면
select id from a 이렇게 쓰시면 됩니다. 만약 a라는 테이블에서 모든 항목을 검색하고 싶다면 
select * from a 이렇게 쓰시면 됩니다.
where
어디라는 뜻을 가지고 있습니다만 실제 sql에선 조건이란 뜻입니다. select 등의 명령어와 같이 쓰이지요.  예를 들어서 다음과 같이 명령어를 적었다면
select id from a where id='guest' 
id항목에서 id가 guest인 것을 찾으라는 뜻이 됩니다. 여기서 and나 or을 추가하면

select id from a where id='guest' or no=1

no값이 1이거나 id가 guest인 것을 id항목에서 찾으라는 뜻이 됩니다.

mysql_fetch_array 

mysql_query 를 통해 얻은 리절트 셋(result set)에서 레코드를 1개씩 리턴해주는 함수입니다.

즉 쉽게 말하면 mysql_query 의 실행결과를 한 행씩 가져온다는 뜻입니다. 예를 한번 들어 봅시다.

$q=mysql_fetch_array(mysql_query("select id from where id='guest' and no=1"));

자 위의 mysql_query를 보시면 id가 guest이고 no값이 1인 id를 검색하라고 되어있습니다. 그리고 mysql query를 통해 얻은 그 id를 mysql fetch array에 의해 한 행씩 가져옵니다. 자 그렇다면 테이블로 확인을 해 봅시다.

a라는 테이블이 다음과 같다고 봅시다.

no                           id

1                           guest

2                           admin

id가 guest이고 no값이 1인 id를 검색한다 했으니 실행결과는 guest가 나옵니다. 

여기서 추가로 설명을 더 드리자면

.$q=mysql_fetch_array(mysql_query("select id from where id='guest' or no=2"));

인 경우에는 어떻게 될까요?

id가 guest인 id 또는 no값이 2인 id를 둘다 불러오게 됩니다. 물론

mysql_fetch_array에 의해 한 행씩 들고 옵니다.

그러면 guest와 admin이 둘다 불러오게 됩니다.

여기서 guest를 출력시키고 싶다면 echo($q[0]) 라고 해주셔야하고

admin을 출력시키고 싶다면 echo($q[1])이라고 해주셔야 합니다.


Posted by englishmath
,