분류 전체보기 (214) 썸네일형 리스트형 Webhacking.kr 26번 소스코드 id가 admin이면 클리어 id에서 admin필터링 통과하면 urldecode를 한다 일단 admin의 urlcode값은 %61%64%6d%69%6e인데 이대로 전송하면 get방식이라 바로 admin으로 전송되 필터링된다 그래서 한번 더 인코딩 %2561%2564%256d%2569%256e 이렇게되면 %61%64%6d%69%6e이렇게 보내져서 필터링을 우회하고 url decoding을 하면 무사히 admin으로 바뀌게 된다 Webhacking.kr 59번 회원가입란과 로그인란 중첩 클래스와 중첩 인터페이스 중첩 클래스 클래스 내부에 선언한 클래스 중첩 클래스 class ClassName{ class NestedClassName{ } } 중첩 인터페이스 class ClassName{ interface NestedInterfaceName{ } } 선언 위치에 따른 분류 선언 위치 설명 멤버 클래스 인스턴스 멤버 클래스 class A{ class B{...} } A 객체를 생성해야만 사용할 수 있는 B 클래스 정적 멤버 클래스 class A{ static class B{...} } A 클래스로 바로 접근할 수 있는 B 클래스 로컬 클래스 class A{ void method(){ class B{...} } } method()가 실행할 때만 사용할 수 있는 B 클래스 인스턴스 멤버 클래스 A 클래스 내부 중첩 클.. Webhackig.kr 24번 $ip가127.0.0.1이면 클리어 extract함수가 보이는데 이 함수의 역할은 배열속의 키값들을 변수화 시키는 것이다. 그래서 쿠키값에 REMOTE_ADDR를 주면 REMOTE_ADDR를 변수로 사용해서 값을 줄 수 있게되어 $ip값을 줄 수 있게 된다 그리고 str_replace가 보이는데 .. -> . 12 -> 공백 7. -> 공백 0. -> 공백 replace를 거쳐서 127.0.0.1을 만드려면 112277....00....00....1 이걸 쿠키값에 주면된다 클리어 Webhacking.kr 58번 채팅창 같기도 help를 쳐보니 리눅스처럼 ls id flag help라는 명령어가 있는 것 같음 ls하면 index.js temp.html이 있다고 함 id를 치면 원래 현재 로그인한 root계정의 정보를 출력하는데 root라고 나옴 flag는 권한이 없고 admin만 가능하다고 한다 페이지 소스중에 이상한게 있는데 username이 guest로 되어있음 콘솔 차에서 admin으로 수정하고 flag를 쳐도 안된다 원래 socket.emit부분에 uesrname+":"+$('#m').val()); 이렇게 되어 있었는데 입력 창의 id값이 m인걸 보아 입력값을 전달해주는 것 같음 그래서 그냥 내가 원한는 값을 가져다 박기로함 그리고 flag를 치면 클리어 이번건 거의 찍은거 같고 원래 이렇게 하는건지도 잘.. 인터페이스 인터페이스 객체의 사용 방법을 정의한 타입 인터페이스는 외형적으로 추상 클래스와 비슷 하지만 인터페이스를 생성할 때 class를 쓰지않고 interface 인터페이스이름{ } 이런 형식으로 씀 인터페이스를 상속받을 때에는 implements 키워드 사용 인터페이스에서는 상수 필드와 추상 메소드만을 멤버로 가짐 인터페이스는객체로 생성할 수 없기 때문에 생성자 X 추상 클래스와 인터페이스는 상속받는 클래스 혹은 구현하는 인터페이스 안에 있는 추상 메소드를 강제로 구현하게 함 추상 클래스와 인터페이스의 차이 추상클래스는 이 추상 클래스의 멤버들을 상속받아서 기능을 이용하고 확장시키는데 있는 반면 인테페이스는 함수선언만 있고 정의는 없다 이유는 그 함수의 구현을 강제하기 위해 구현을 강제함으로써 구현 객체의 같.. 추상 클래스 객체를 직접 생성 할 수 있는 클래스는 실체 클래스 클래스들의 공통적인 특성을 추출해서 선언한 클래스 추상 클래스와 실체 클래스는 상속관계(추상 클래스가 부모) 추상 클래스 키워드는 abstract abstract 키워드를 붙이면 new 연산자로 객체 생성 불가 new 연산자로 직접 생성자를 호출은 불가능 하지만 자식 객체가 생성될 때 묵시적으로 super(...)를 호출해서 추상 클래스 객체를 생성하기 때문에 추상 클래스도 반드시 생성자 필요 추상 메소드와 재정의 추상 클래스는 실체 클래스의 멤버(필드, 메소드)를 통일하는 목적 모든 실체들이 가지는 메소드의 실행 내용이 동일하다면 추상 클래스에 메소드를 작성하는 것이 좋음 하지만 메소드의 선언만 통일하고 실행 내용은 실체 클래스마다 달라야 하는 경우가.. 타입 변환과 다형성 다형성 사용방법은 동일하지만 다양한 객체를 이용해서 다양한 실행 결과가 나오도록하는 성질 ex) 팥 붕어빵, 슈크림 붕어빵 public class A{ } public class B extends A{ } public class Test{ public static void main(String[] args){ B b = new B(); A a = b; A aa = new B(); } } 자식 타입은 부모 타입으로 자동 형변환 가능 바로 부모 자식 관계가 아니라 상속 계층에 속하면 자동 타입 변환 가능 class A{} class B extends A{} class C extends B{} class D extends A{} class E extends D{} public class test{ public.. 이전 1 ··· 11 12 13 14 15 16 17 ··· 27 다음