모의해킹 진행하면서 배운 거 정리해봄. 이거 좀만 빨리 알았으면 더 찾았을텐데 아쉽게 좀 늦게 알았음. 아래 사진처럼 사용자가 만든 클래스를 다른 파일에 임포트하는 방법이 있다. java.util.*은 java라는 파일 내에 util이라는 클래스 내의 모든 메소드들을 가져다 쓰겠다는 의미이다. 근데 java로 시작하는 건 약간 c++의 STL같은 느낌이니 사용자가 임의로 만든건 아니다.그렇게 중요한 내용이 들어있진 않다. 사진 마지막에 com.rps.common.utils.*을 보면 com/rps/common/utils.class 를 가져오면 어떤 메소드들이 있는지 알 수 있다. 근데 저 디렉토리만 있는게 아니라 앞에 WebContent/WEB-INF/classes를 붙여줘야 한다. WebContent/..
NOSQL이란? Not Only SQL의 줄임말로 데이터를 다루기 위해 꼭 SQL을 사용하지 않아도 데이터를 다룰 수 있다는 의미. 관계형 DB를 다루지 않아 단순 검색 및 추가 작업을 위한 매우 최적화된 저장 공간. mongoDB는 JSON object 형태로 도큐먼트를 저장한다. schema가 존재하지 않아 테이블에 대한 특별한 정의를 하지 않아도 된다. id 필드가 Primary Key 역할을 한다. 사용 예시 mongoDB에서 status의 값이 A이고 qty의 값이 30보다 작은 데이터값을 찾는 방법은 $db.inventory.find( { $and: [{ status: "A" },{ qty: {$lt: 30 }}]}) $db.user.insert({uid: 'admin', upw..
SSTI에 대해 알아보자.출처:https://www.lanmaster53.com/2016/03/11/exploring-ssti-flask-jinja2-part-2/https://medium.com/@nyomanpradipta120/ssti-in-flask-jinja2-20b068fdaeeeSSTI란?ssti란 Server-Side Template Injection이란 의미이다.ssti를 이해하기 전에 정적/동적 웹페이지에 대해 알아야 한다. 정적 웹 페이지는 간단한 html을 사용해 페이지를 만들고 서버에 저장해, 불러온 그대로의 모습을 보여주는 방식이다. 동적 웹 페이지는 사용자가 작성하거나 선택한 이벤트에 따라 웹 페이지의 구성과 내용이 달라지는 방식이다. python의 flask나 자바스크립트 같은..
파이썬 pickle을 이용해 직렬화 취약점을 알아보자. 이 취약점은 __reduce__ 메소드를 이용한다. __reduce__ 메소드는 객체를 unpickling할 때 객체를 재구성하는 tuple을 반환해 준다. 이 때 tuple은 함수를 반환할 수 있어 함수 실행이 가능하다. unpickling 되는 객체에 우리가 접근하는 것이 가능하다면 RCE공격이 가능하다. __reduce__메소드를 재정의해 os.system("id")를 실행하게 했다. 객체 vul()을 생성하고, 객체를 직렬화 하는 과정인 pickle.dumps에서 __reduce__ 메소드가 실행되고 os.system("id")의 내용이 직렬화 된다. 이 후 역직렬화를 통해 제대로 내용을 볼 수 있다. 이렇게 출력이 된다. 밑에 에러는 dum..
eval() 함수eval() 함수는 문자열을 받아 자바스크립트로 실행을 시키는 함수이다. eval(string) 형태로 사용한다. ex) eval('2+2') //4 eval()함수는 이런 점을 이용해 악의적인 실행을 할수 있다. 예를들어 print(eval(__import__('os').system('ls /')))같이 실행을 하면 root 디렉토리의 정보가 노출된다. eval()함수는 php나 javascript같이 스크립트 언어에서 사용할 수 있다. 즉 스크립트 언어에서 eval()함수를 사용하게 되면 취약점이 된다는 것이다. eval()함수를 안전하게 사용하기 위해서는 안티 패턴을 사용하자. //안티패턴 var obj = {name:"javascript"};var property = "name";..
출처 : https://dreamhack.io/learn/15#39https://blackperl-security.gitlab.io/blog/2018/08/10/2018-08-10-aswj-03/ php include 취약점 php의 Include 함수는 인자로 전달된 파일을 읽은 후 해당 파일의 내용을 출력한다. 파일의 내용 중 php 코드 구문이 존재하면 해당 코드를 실행 한다. include함수는 동적으로 다른 php 페이지를 로드해야할 때 사용한다. include 함수는 파일의 확장자 또는 파일의 타입과는 상관없이 파일의 내용의 php 코드를 실행시킨다. php wrapperwrapper란 감싸다 라는 의미인데, 코드나 데이터를 둘러싸다. 정도의 의미를 갖겠다. 파일 시스템 관련 함수(ex:inc..
출처: https://velog.io/@woounnan/WEB-PHP-Serialization https://dreamhack.io/lecture/courses/15 파이썬에서 직렬화/역직렬화를 사용하는 대표적인 모듈은 pickle과 yaml이 존재한다. pickle : 일반 텍스트가 아닌 리스트나 클래스같은 자료형을 파일 입출력 방식으로 저장하는 모듈.yaml : yaml 양식을 가진 파일을 다룰 때 사용하는 모듈. 파이썬의 __reduce__ 메소드를 이용하여 공격에 사용한다.
출처: https://velog.io/@woounnan/WEB-PHP-Serialization https://dreamhack.io/lecture/courses/15serialize()함수serialize란 직렬화라는 의미를 가지고 있다.serialize()함수는 객체나 데이터의 상태나 타입을 특정한 형태의 포맷을 가진 데이터로 변환하는 것을 의미한다. serialize($value) : string인자로 전달된 값을 직렬화 시켜 문자열로 변환한다. deserialize()함수serialize()함수의 반대로, 직렬화된 데이터를 원래의 상태나 타입으로 변환하는 것을 의미한다.직렬화된 데이터를 원하는 상황에 역직렬화해 동일한 상태나 타입을 가진 데이터를 사용할 수 있다. serialize()함수의 취약점은..
- Total
- Today
- Yesterday
- problem statement
- 크로스 엔트로피
- 차량용 이더넷
- 이상탐지
- 케라스
- SVM
- Ethernet
- json2html
- many-to-one
- cuckoo
- 차량 네트워크
- 회귀
- 단순선형회귀
- automotive
- 로지스틱회귀
- SOME/IP
- 딥러닝
- AVTP
- PCA
- CAN-FD
- many-to-many
- porks
- automotive ethernet
- 논문 잘 쓰는법
- 머신러닝
- one-to-many
- AE
- AVB
- HTML
- Python
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |