web hacking10 ejs 3.1.6 SSTI 취약점 (CVE-2022-29078) CTF 웹 문제를 봐보면 ssti 취약점 문제가 생각보다 많다. ssti 문제들의 패키지 파일을 보면 ejs 3.1.6 이나 ejs 3.1.8 등등이 있는 것 같다. 그래서 한번 ejs 3.1.8을 찾아보려니 먼저 ejs 3.1.6 취약점을 공부해보라고 해서 ejs 3.1.6 취약점을 공부한걸 정리해본다 취약점 발생 코드 // Undocumented after Express 2, but still usable, esp. for // items that are unsafe to be passed along with data, like `root` viewOpts = data.settings['view options']; if (viewOpts) { utils.shallowCopy(opts, viewOpts.. 2023. 9. 30. SQL Injection SQL은 엄청난 장점이 있는 언어이다.db에서 데이터를 선택하고, 추출하고, 넣고, 지우고... 데이터를 분석하고 이용할때 사용하는 언어가 SQL이다.SQL은 DB 내용들을 손쉽게 관리할 수 있는 강력한 언어이다. SQL은 크게 3가지의 형태로 나누어지는데, DDL, DML, DCL이 있다. DDL에서 쓰는 대표적 예시는# 테이블이나 DB를 새로 만든다CREATE; CREATE TABLE Customers ( CustomerID INT PRIMARY KEY, FirstName VARCHAR(50), LastName VARCHAR(50), Email VARCHAR(100)); # 이렇게 새로운 테이블을 생성할 수 있다.# 테이블이나 DB의 속성을 바꾼다ALTER; ALTER TABLE.. 2023. 9. 9. 내 web shell은 어디에... 어찌어찌 서버에 web shell을 올렸다고 해도 내 web shell 위치를 찾지 못해서 헛수고하고 로그만 남기고 억장이 와르르할 수가 있다! web shell 올리기 전에 파일 올릴 때의 내부 로직을 정확히 파악하고 해 보자!! 내가 올린 파일 찾기 음 일단 로직을 분석하고 직접 차근차근 찾아보는 방법이 가장 좋은 방법이긴 하다! 그래도 여러 가지 대표적인 방법들이 있으니 알아보자! 응답을 분석해 보자 파일을 업로드하면 종종 응답 내용에서 서버 내부에 파일 위치가 도착하는 경우가 있다. 내부 파일 위치에 접근해서 내 web shell에 접근해 보자! F12를 눌러보자 이미지를 업로드한 img 태그를 확인해 보면 src에 url이 걸려있다. 걸려있는 url을 봐보면 업로드된 위치를 확인할 수 있다. 해.. 2023. 9. 7. file upload 대응은 이게 정석일껄요...? 필터링하자! 모두가 잘 알듯이 웹 필터링 방식에는 화이트리스트 필터링, 블랙리스트 필터링이 있다. 화이트리스트 방식은 모든 리스트 목록을 다 차단하고 혀용 할 리스트만 허용하는 방식이다. 블랙리스트 방식은 차단할 리스트 안에만 있으면 차단하는 방식이다. 화이트리스트 방식이 보수적이고 폐쇄적이라서 보안에 강점이 있다. 보안성이 강화될수록 서비스는 더 안전하고 신뢰성이 높아질 것이다. 하지만 보안이 어느 선을 넘어가게 되면 안전한 서비스라는 엄청난 장점을 챙기지만 고객들의 불편함을 초래할 수 있다. 예시를 들어보면, 우리가 어떤 사이트에 로그인을 하려고 하면 일단 아이디와 비밀번호를 입력하는 것이 일반적이다. 하지만 김재균이 만든 사이트는 너무 무서워서 샤워를 하러 간 나머지 보안을 엄청나게 챙기려고 노력했.. 2023. 9. 4. 이전 1 2 3 다음