'분류 전체보기' 카테고리의 글 목록 (6 Page)
본문 바로가기

분류 전체보기

(162)
[LOS] step32. alien풀이 ## 조건 ## 1) query 2개 존재 → 1개의 요청으로 2개의 쿼리 동작시키기 2) 필터링 대상 : admin and or if coalesce case _ prob time 입력값 no에 대한 특이한 조건사항이 있다 1) query1 admin이어야 한다. 2) query1 admin이 아니어야 한다. 3) query2 admin이 아니어야 한다. 4) query2 admin이어야 한다. 조건 1에 맞추기 위해서 위 조건사항을 조금 바꿔서 살펴보면 아래와 같다. admin → admin X → admin X → admin 어려워서 다른 풀이를 조금 참고해서 보니.. 시간차 공격을 해야 하는 것 같다. 그래서 time을 필터링하기에 시간지연 함수가 필요하다. → sleep()과 같은.. 일단, 1..
오토 스케일링(Auto Scaling)과 클러스터링(Clustering) 오토 스케일링(Auto Scaling)과 클러스터링(Clustering) 공통점 : 컴퓨터 시스템의 효율성과 성능을 개선하기 위한 기술 차이점 : 오토 스케일링 - 가변적인 부하 대응 / 클러스터링 - 여러 대의 고정된 서버들 묶어서 작업 분산 오토 스케일링 (Auto Scaling): 클라우드 환경에서 사용되는 기술로, 애플리케이션 또는 서비스의 부하량에 따라 자동으로 리소스를 조절하여 성능을 최적화하는 것 사용자 트래픽 증가로 인해 부하가 증가하면 오토 스케일링은 자동으로 가상 서버 인스턴스를 추가하여 부하를 분산시키고, 트래픽이 감소하면 인스턴스를 줄여 비용 절감 유동적인 트래픽 패턴에 대응하기 위한 방식 클러스터링 (Clustering): 클러스터링은 여러 컴퓨터나 서버를 하나의 그룹으로 묶어서 ..
CSTI XSS Client Side Template Injection XSS : 클라이언트 측에서 사용하는 템플릿에 임의의 코드를 주입하는 공격 공격자 관점에서 템플릿 표현식 + 자바스크립트 구문 조합을 통해 XSS 시도 결과값이나 영향도는 XSS와 유사 *샌드박스 : 외부로부터 전달받은 파일을 바로 실행하지 않고 보호된 영역에서 실행시켜봄으로써, 외부로부터 들어온 파일과 프로그램이 내부에 영향을 끼치는지 여부를 검사하는 기술 - 주로 사용되는 payload $eval : 샌드박스 환경에서 허용되는 함수 객체 : toString(), charAt(), prototype, constructor 등 표현식 : {{}}, [] 위 객체와 표현식을 통해서 샌드박스를 벗어나게 하여 외부 요청값에서 전달받은 스크립트 실행하도록 ..
[WEB-dreamhack] error based sql injection error based 를 이용하여 admin에 해당하는 upw를 찾으면 된다. error based 에서 사용할 수 있는 기법 1. extractvalue() 함수 이용 2. 수용가능한 double 값 이상의 값 넣어서 에러 발생시키기 가장 이해가 안되었던 기법 : extractvalue() extractvalue()함수는 2개의 인자가 필요하다. 첫번째 인자에는 xml 코드가, 두번째 인자에는 xpath 식이 들어간다. 이때, 두번째 인자인 xpath 식이 올바르지 않다면 에러 메시지에 에러 메시지에 삽입한 식의 결과가 그대로 출력된다. 이 점을 이용해서 DB정보 확인이 가능하다는 것. 첫번째 인자 : 1 두번째 인자 : concat( 0x3a , (select password from users wh..
[LOS] step31. ZOMBIE 풀이 이전 문제랑 해결법은 비슷하다. 입력값과 결과값이 동일해야 한다는 점인데... 이번에는 'ace' 라는 문구를 필터링하고 있기에 replace()함수를 쓸 수 없다.. 그래서 결국 구글의 힘을 빌려서 살짝 힌트를 얻었다. 바로 information_schema.processlist 를 이용하는 것 show processlist; mysql 테스트 페이지에서 processlist에 대해서 알아봤다. 일단, INFORMATION_SCHEMA 에 대한 이해가 필요해 보인다. (이참에 공부..) INFORMATION_SCHEMA 란 mysql 서버 내 존재하는 DB의 메타 정보들(DB내 테이블 정보, 컬럼 정보, 인덱스 등)을 저장하고 있는 DB이다. INFORMATION_SCHEMA는 read_only이다 I..
VSCODE 에서 BASH 터미널 (리눅스 터미널) 사용법 https://dev.uhoon.co.kr/entry/VSCode%EC%97%90%EC%84%9C-Git-Bash%EB%A5%BC-%ED%86%B5%ED%95%A9-%ED%84%B0%EB%AF%B8%EB%84%90%EB%A1%9C-%EC%84%A4%EC%A0%95%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95 VSCode에서 Git Bash를 통합 터미널로 설정하는 방법 터미널 설정 구성 terminal.integrated.defaultprofile.windows 에서 Git Bash 선택 만약 해당 옵션이 없다면 settings.json 파일을 열고 terminal.integrated.profiles.windows 항목을 찾고 없다면 추가 . 주의 : defaultProfile.wi..
API 이해 API란? 어떤 서버의 특정한 부분에 접속하여 그 안에 있는 데이터와 서비스를 이용할 수 있도록 하는 SW 도구 진단하면서 느낀 건 모바일 앱 통신에서는 많이 API를 사용하고 있었음 API의 역할은? 서버와 DB 간 연결 통로 모바일 앱과 단말기 간 데이터를 원활하게 주고 받도록 하는 역할 접속 표준화를 위해 단말기 , 운영체제 상관없이 동일한 액세스 (범용) API 유형은? 1) private API 회사내부용, 회사 내부 자체 제품이나 서비스 간 통신 담당 2) public API 모두에게 공개되는 API 3) partner API 특정 대상에게만 공유되는, 고객사 간 공유되는 API API를 왜 사용할까? private API를 사용할 경우, 애플리케이션 코드를 표준화할 수 있어서 간략하고 빠른 ..
[LOS] step30. ouroboros 풀이 이 문제는 어려워서 라업을 보고 시작했다.. 일단 핵심은 저 부분. 바로 입력값과 결과값이 동일하게 만들어야 한다.. 함수들이 들어간다고 하면 해당 함수들이 다시 살아나야 하고 뭐 그런.. 함수가 실행되지만 다시 함수를 넣을 수 있는.. 정답을 보고도 이해하는 데 시간이 걸렸다. 일단 payload를 먼저 보고 시작하자. 실제 payload는 ' union select replace(replace('" union select replace(replace("$",char(34),char(39)),char(36),"$") as pw#',char(34),char(39)),char(36),'" union select replace(replace("$",char(34),char(39)),char(36),"$") ..