파일 다운로드 공격 실습
·
보안/웹·모바일
업로드 기능이 있다면? 당연히 다운로드 기능도 있다. 다운로드 기능이 있다면? 당연히 업로드 기능도 있다. 실습 페이지의 다운로드 페이지는 shop_download.asp이다. strFileName으로 파일이름을 주고, f_path로 upload_file이라는 업로드 파일이 저장되는 경로가 주어진다. ../를 이용해서 상위 디렉토리에 있는 파일을 다운로드 할 수도 있다. 쿠키.asp 받아쳐먹기
파일 업로드 취약점 실습
·
보안/웹·모바일
파일 업로드 취약점 거의 웹쉘을 업로드하는게 목표임. 실습 페이지는 .asp로 작성되어 있다. active server page [실습] webshell.asp를 게시판에 업로드 업로드 하려니까 첨부파일 확장자필터링이 걸려있다. jpg, hwp, pdf, jpeg, txt 만 가능하다고 함. 파일업로드 확장자 우회 방법에 대해서 알아보자. ⓐ 종단 문자 우회 파일명.asp%00.jpg %00은 null byte. 문자열의 끝을 의미 파일명.asp로 업로드된다. ⓑ html encoding 통한 우회 파일명.as%112 %112 = html encoding 으로 p를 의미 ⓒ burpsuite로 Content-type 을 수정해서 포워딩 ⓓ 시그니처 수정 확장자가 아니라 파일 시그니처로 확인하는 경우 시작..
XSS (Cross Site Script) 실습
·
보안/웹·모바일
XSS (Cross Site Script) - OWASP '인젝션' 항목에 포함됨 - Reflected 방식과 Stored 방식으로 나뉜다. 1. Reflected (반사형) 구문을 입력하면 반사하듯이 바로 보여지는 것 (query) 이게 안먹힌다? (query) "> 스크립트로 돌아가는 페이지인가? 생각하고 있으면 시간만 오래걸림. 걍 두개다 해보셈. TIP. 반사형 점검할 때는 후자와 같이 그냥 막아주자. 저장형은 안막아도 ㄱㅊ 그래도 둘다 하는게 점검할 때 마음이 편하다.^^ 아무튼 여러 쿼리를 질의할 수 있음. "> "> ">
Blind SQL Injection 실습
·
보안/웹·모바일
Blind SQL Injection 실습 - DB 에러 페이지가 노출되지 않거나, 취약점 존재를 판단하기 어려운 경우. 방법: 참/거짓 쿼리의 반응이 서로 다름을 확인. 참 쿼리 대상의 반응, 거짓 쿼리의 대상의 반응이 다를 때. EX) Oyesmall 데이터베이스라고 치면.. DB_NAME()의 첫번째 글자가 'a'니? 점검 방법 True query: ' and 1=1 -- False query: ' and 1=2 -- [db_name] - DB 이름 확인(error_based): 'and db_name() > 1 -- - DB 이름 확인(blind_based): db_name()의 첫 글자 (a~z). substring 함수를 이용한다. ※ substring(원하는 문자열, 시작점, 글자수): 문자열..
UAC bypass 실습하다가 컴날림
·
System/침투
Abuse Elevation Control Mechanism- UAC bypass - 참고로 해당 실습은 3개월 전에 진행한 것이다.업데이트 확인 작업 시.. 존재하지 않는 DLL인 WindowsCoreDeviceInfo.dll을 로드하려함. 내가 해야하는 것일반 프로세스를 시스템권한까지 올림.이를 위해 시스템 권한을 가진 프로세스로의 인젝션 또는 하이재킹이 필요하다.단, UAV없이 바로 시스템권한으로의 상승이 필요하다.시스템권한을 가진 프로세스로 하이재킹한 후.. shellExcuteEx() 함수를 통해 시스템권한을 가진 자식프로세스를 생성.여기서 자식프로세스의 역할은 일반 권한의 프로세스를 선택해서 setPrivilege같은 함수 통해 일반권한 프로세스 시스템 권한으로 상승시키기.그럼 당장taskmg..
특수문자 필터링, 정규표현식 for JavaScript
·
보안/웹·모바일
특수문자 필터링 for JavaScript 정규표현식 표현방법 1. 정규 표현식 리터럴 const match = /pattern/flag 2. RegExp 호출 const match = new RegExp(pattern) 검색패턴 [^문자] Not 문자 ^문자열 특정 문자열로 시작 문자열$ 특정 문자열로 끝남 | OR [] 괄호 내 문자열들 중 하나 {} 반복 횟수 () 괄호로 감싼 부분과 일치하는 부분 문자열을 기억. 나중에 불러와서 사용가능. 반복패턴 ? 최대 한번 반복 ( 0 or 1) * 0회 이상 반복 + 1회 이상 반복 . 정확히 1개 문자 매칭 {n} N번 반복 {n,} 최소 n번 반복 {n,m} 최소 n번 최대 m번 반복 확장문자 \s 공백 문자(스페이스,탭, FF, LF) \S 공백이 아..
GMT기준 이번주 일요일 쇼단 멤버십 할인
·
일상X사랑X돈/뜨거운감자
https://twitter.com/shodanhq/status/1546952691544383491?cxt=HHwWhoCz_dvR8PcqAAAA Shodan membership discount 당장 살준비하셈ㅋ 본인은 아카데믹 멤버십 사용중인데.. 이게 졸업하면 끝날 것 같아서 사둘까 고민 이따 메일 보내보고 졸업 후에 멤버십 종료된다고 하면 이번기회에 사보렵니다 ㅎㅎ 가격은 예전 세일이랑 비슷할 듯 합니다.
Load of SQLInjection 문제풀이
·
보안/웹·모바일
Load of SQLInjection 홈페이지 3. goblin GET방식으로 no에 입력값을 넘겨주어야 하는 상태이다. 2번문제에서 필터링이 추가로 존재한다. 싱글쿼터, 더블쿼터, 백틱 사용 불가능. 나이제 이정도는 껌이다. 정규표현식 공부했거든 아무튼 필터링이 없다면 그냥 no=0 or id='admin' 넘겨주면 되는데.. admin을 문자열로 묶어줄 친구가 없다. 이럴 때 사용할 수 있는 건 바로 admin 문자열에 해당하는 아스키코드 값을 전달해주는 것이다. 바이너리값 or 헥스값 or 옥텟값 옥텟은 안되더라 ㅋ 0x61646d696e를 id로 전달하면 된다. 즉, no=0 or id=0x61646d696e 이 문제에서 배워갈 점: 싱글쿼터 백틱 더블쿼터 등이 필터링 되어 있어서 내가 원하는 문..