분류 전체보기 27

BypassIF

이번 문제는 코드를 이해하는게 가장 중요하다. 바로 코드를 확인해보자 코드의 처음 부분을 확인해보면 filter_cmd에서 command_list에 여러 수상한 문자가 담겨있는것을 확인할 수 있다.  바로 아래 메인 코드를 확인해보면 if not filter_cmd(cmd):에 의해 command_list의 문자들이 필더링되는것을 확인할 수 있다.즉 command_list 안에 문자를 사용하지 않고 공격을 진행해야 한다. 우선 공격이 먹히는지 확인해보자  버프 스위트를 통해 값을 변조해서 입력해보면  이렇게 ls 명령어가 잘 실행되는것을 확인해볼 수 있다.다만 cat 등의 명령어는 사용하지 못하기에 직접적으로 값을 추출하는것은 불가능하다 이제 다시 코드를 확인해보자 이 부분이 값을 입력한 후 실행되는 코..

카테고리 없음 2024.09.29

command-injection-1

command-injection을 사용해 flag.py의 내용을 출력하는 문제다.  사이트의 입력란을 확인해보면 4자리의 숫자를 입력하는 창을 볼수 있다.  지정된 입력 양식과 입력값이 다르면 입력이 되지 않는다.플레그를 획득하기 위해선 cat 명령어로 flag.py의 내용을 출력해야 하기 때문에입력값 우회를 통해 command-injection을 진행한다.  우회를 하기 전에 우선 코드를 살펴보면 cmd = f 'ping -c 3 "{host}" ' 부분에서사용자의 입력값을 전달받는걸 확인할 수 있다."{host}" '에서 쌍따옴표 2개가 쓰였기에  "; "명령어  구조로 입력을 해야 한다. ( "  "; " 명령어 " ' )   이제 입력 제한을 우회하기 위해 관리자 모드로 웹페이지의 소스코드를 확인..

카테고리 없음 2024.09.27

xss-1,2

공격 사이트에 접속해보면 총 3개의 페이지가 연결되어있는것을 확인할수 있다.  첫번째 페이지에 접속해보면 alert(1)이 출력되는것을 볼 수 있다.  이때 페이지의 도메인을 확인해보면 로 위 명령어를 통해 플레그를 출력할수 있다.document.location.href는 URL을 변경하는 명령어로 설정한 특정 페이지로 이동할수 있다.location 명령어를 사용해 memo?memo 페이지로 이동해 document.cookie 명령어로 페이지의 쿠기를 출력해보면  이렇게 플레그가 출력되는것을 확인할 수 있다. xss-2는 여기서 간단한 우회만 하면 플레그를 찾을수 있다.xss-2에서는 가 막혀있기 때문에 다른 명령어를 통해 우회하여 공격해야 한다.이때 가장 대표적으로 쓸 수 있는것이  onerror로 i..

카테고리 없음 2024.09.14

4차시 과제

Blind SQL Injection - Boolean Based Boolean Based는 쿼리의 참과 거짓만을 출력하는 페이지에 사용하는 공격 기법이다.출력 내용이 참과 거짓 밖에 없기 때문에 데이터베이스의 내용을 추측해서 값을 입력 후참이 나올때까지 임의의 값을 대입하여 값을 알아내는 방식으로 공격을 진행한다.   Blind SQL Injection - Time Based Time Based는 응답 시간을 토대로 페이지를 공격하는 기법이다. Time Based는 참과 거짓에 관계없이 모두 동일한 결과를 보여준다.따라서 참을 구별하기 위해 인자에 입력한 시간만큼 응답을 지연시키는 sleep 함수를 사용하여 Injection을 시도한다.(값 뒤에 sleep()함수를 넣어 만약 참이면 sleep 함수가 실..

카테고리 없음 2024.09.08

random-test 문제 풀이

풀이 방법에 접근조차 못하겠어서 다른 사람의 풀이를 보고 문제를 풀었다. 코드를 확인해보면 특정 값이 참일경우 good을 반환하는데 이를 확인하여 한글자씩id와 비밀번호를 알아내는 방법으로 문제를 풀 수 있다. 코드를 확인해보면 사용자의 입력값은 locker_num에 저장되며 locker_num의 길이만큼 무작위로 설정된 rand_str, 즉 id와 비교하여 일치하면 good, 다르면 wrong를 반환하는것을 확인할수 있다. 이때 locker_num의 길이만큼 비교를 실행하기에 한글자만 입력해도 그 글자가 일치하다면 good을 반환할것이다.예를 들어 id를 "asdf" 라고 가정하고 사용자가 'd' 만을 입력했다 한다면 위 코드는 'a' 와 'd' 만을 비교할것이다.따라서 만약 사용자가 'a' 를 입력한..

카테고리 없음 2024.09.01

simple_sqil 문제풀이

Sql Injection을 사용해 admin 계정으로 로그인하는 문제이다.  userid 와 userpassword를 확인해 로그인하는 코드이다.res = query_db... 코드가 사용자의 입력을 받는 부분이기에 이 부분에 Sql Injection을 가하면 된다.  유저의 아이디와 비밀번호를 구성하는 코드이다.guest의 아이디와 비밀번호는 guest, admin의 비밀번호는 알수 없도록 설정되어 있다.  사이트의 로그인 화면이다. 로그인할 계정의 아이디를 알고 있으니 userid 부분에 명령어를 입력하면 된다.  로그인 방법은 총 2가지가 있는데 첫번째는 limit을 사용하는 방법이고 두번째는 그냥 주석만 활용하는 방법이다.   limit를 사용하는 경우에는 admin" 뒤에 or 1=1 limit..

카테고리 없음 2024.09.01

JS

document :DOM 트리의 최상위 객체이다.HTML 문서 로드 전 document 객체를 만들고 이 객체를 기반으로 DOM 트리를 만든다. 이벤트 리스너특정 이벤트(상호작용)이 발생했을때 실행되는 함수이다. addEventListener()이벤트 리스너 등록 removeEventListener()등록된 이벤트 리스너 제거 onload웹페이지의 로딩이 완료되었을때 사용브라우저 UI와 상호작용 keydown사용자가 특정 키를 눌렸을때 사용사용자 키보드 입,출력에 반응해 상호작용 keyup사용자가 특정 키를 뗄 때 사용 사용자 키보드 입,출력에 반응해 상호작용  메서드내장 함수. 특정 객체의 상호작용이나 실행에 관여함메서드 객체는 Object 객체와 Object.prototype 객체의 모든 프로퍼티와 ..

카테고리 없음 2024.08.04

html

html의 기본 구조 html실행시 작성하는 기본적인 요소모든 명령어가 이 안에서 작성된다. 해당 문서에 대한 메타데이터의 집합을 정의할때 사용하는 태그브라우저 화면에 직접적으로 보이지 않으며, 숨은 데이터를 정의하는 태그를 이 안에 작성한다.ex) title, style 등등  이 태그는 해당 문서의 텍스트, 링크, 이미지 등을 작성하는 영역을 정의할 때 사용하는 태그이다.html 문서에는 하나의 태그만 존재할 수 있다.  시멘틱 테그시멘틱 테그는 페이지 구조를 이해할수 있는 의미있는 구조를 뜻한다.간단하게 설명하면 편의성을 위해 사이트의 특정 부분에 의미를 부여하는 태그라고 볼 수 있다.위 사진처럼 여러개의 영역으로 나뉘어져 있으며 각각의 영역마다 의미를 가진다. header 태그는 일반적으로 제..

카테고리 없음 2024.07.28

패킷 트레이서 3차

라우터의 명령어 및 기본설정 기본 설정 라우터의 CLI에 들어가 n입력후 en으로 관리자모드 진입 conf t 로 설정 모드 진입 Show run으로 설정 열람 암호 설정 console password-사용자 기본 암호 Enable password-관리자 모드 진입 암호 Enable secret-위에서 암호화 추가 라우터 ip 설정 설정 모드에서 int fa/g 등으로 ip경로 설정 이후 ip add를 사용하여 ip추가 no shut을 사용해 라우터를 on 스위치 ip 설정 설정모드에서 int vlan1 입력 이후 ip add를 사용하여 ip추가 no shut을 사용해 킨 후 ip default gateway로 게이트웨이 설정

카테고리 없음 2024.07.25

패킷 트레이서

1-물리 계층통신 단위: 비트데이터를 전달하는 계층으로 데이터 전기적인 신호로 변환해서 주고받는 역할을 한다대표적인 장비는 통신 케이블,리피터,허브 등이 있다. 2-데이터 링크 계층통신 단위: 프레임물리계층을 통해 송수신되는 정보의 오류와 흐름을 관여한다.통신에서의 오류도 찾아주고 재전송도 하는 기능을 가지고 있으며 MAC주소를 통해 통신한다.대표적인 장비로는 브리지, 스위치 등이 있다. 3-네트워크 계층통신 단위 : 패킷실제 네트워크 간 라우팅을 담당하는 계층으로 IP주소를 통해 데이터를 목적지까지 전달하는 역할을 하며 경로를 선택하고 주소를 정하고 경로에 따라 패킷을 전달해주는 역할은 한다.대표적인 장비로는 라우터가 있다. 4-전송 계층통신 단위 : 세그먼트실질적으로 데이터를 전송하는 계층으로 TCP..

카테고리 없음 2024.07.23