전체 글 221

2021-04-20

/* ??? 오 이게 된다고 ? */ /* 코드블록 삽입이 된다니 */ /* - 흔한 고인돌의 반응 - */ 회사를 입사하고 나서는 줄곧 사내 시스템에서만 문서를 쓰다보니, 자연스레 블로그는 멀어졌습니다. 어느순간 블로그는 비공개로 개발 메모장이 되어있네요.. 예전에는 (꽤 오래전에는) 블로그에 코드 입력하기가 조금 번거로웠는데 (그래서 제 글들은 어설픈 표안에 코드들이 들어있지만) 말이죠 친구들이 요즘에는 티스토리에도 코드 삽입하기가 수월하대서 로그인을 부랴부랴 해봤습니다 최근에는 Notion이라는 툴을 적극 활용하여 필요한 내용들을 정리해보고 있는데, 요즘엔 참 편한 툴이 많네요. 바쁜 일들이 이따금 정리되면 다시 블로그를 활용하겠다고 결심해보며 이만 줄입니다.

Daily 2021.04.20

(임베디드) Command injection vulnerability check 커맨드 인젝션 취약점 점검

커맨드 인젝션 취약점- OWASP : https://www.owasp.org/index.php/Command_Injection 시스템 함수의 사용을 권고하지 않음 (제약해야함)open() / seek() / write() / close()system ()exec(), execlv(), execve() 등 exec 계열 함수 * 임베디드 리눅스 환경이라 가정 1) 커맨드 인젝션 취약점에 노출될 가능성이 있는 함수 를 사용하는 프로그램 탐지/식별How To?$ find . -type f -executable(OR) $find . -type f perm(1) 함수 이름과 같은 문자열을 포함하고 있는 실행파일 식별$ find (PATH) -type f -executable -exec grep system {} ..

NOWS/Security 2017.09.07

Firmware 이해하기 (2) IDA

printf("abc"); 파라미터 셋업 - 파라미터 주소 설정출력 함수 호출 주소는 어떻게 알까?컴파일 후, 링커가 설정해준다. 시작 주소값 확인. 1) li 파라미터 값 확인하기2) UART Boot Message 확인하기Entry at 0x80001000Starting program at 0x80001000...3) BSS 초기화 코드 찾아서 Load address 찾기BSS 영역 : 초기화되지 않은 전역변수, 초기화되지않은 정적변수 nopli $a0, 0x1234 //BSD 시작주소li $a1, 0x2344 //BSD 끝주소 BSS 초기화하는 코드 - 일정한 패턴이 있음BSS 시작주소를 알 수 있다" BSS 시작주소 - Boot Code Size = Boot Code " 시작주소 추정 가능

NOWS/Security 2017.09.06

Firmware 이해하기 (1) MIPS 이해하기

(1) MIPS basic- CISC vs. RISC MIPS RISC : * 모든 inst 사이즈가 동일 (32bit - 4Byte) 코드 사이즈 줄이는데에 불리 * 같은 면적의 CPU Die를 더 효율적으로 이용할 수 있음 Register:* 레지스터 이름은 $로 시작한다* $zero : /dev/zero와 용도가 비슷. 읽기전용. 읽으면 16진수 0x0 반환. 초기화 시 사용.* load XX : 데이터 로드. lb, lw, licf. byte, word, immediate(const value)* save XX : 데이터 저장. sb, sw, si* branch XX : 분기. bne (branch not equal), be* jump XX : 함수 호출 시 사용. JAL (jump and lin..

NOWS/Security 2017.09.06

mac osx 에서 mysql 설치

* 환경 : max osx 10.10.5 (요세미티) pre-requisite : homebrew 설치 설치 및 실행 $ brew install mysql $ mysql.server start cf. 여기서 아래와 같은 에러가 뜰 수 있음.... ERROR! The server quit without updating PID file (/usr/local/var/mysql/emzeiui-MacBook-Air.local.pid). 해결책 -- $ ps aux | grep mysql 이미 실행중인 mysql 의 pid를 확인하여 사살 -- $ kill (mysql_pid)mysql 재실행 -- $ mysql.server restart $ mysql -u root Welcome to the MySQL monit..

NOWS/MEMO 2016.07.12

mac osx (10.10 이상) 에서 mysql 삭제

sql 연습하려고 설치 시도하는데, 처음엔 홈페이지에서 dmg 파일 받아서 패키지 설치까진 했는데... 그러고나서 터미널에서 할 줄 몰라서 헤매다가 homebrew로 또 설치... 두개 헷갈려서 brew꺼 지웠는데, 다시 dmg로 설치한거 하려니까...이상해서 이거 uninstall을 하고싶었는데...인터넷 검색결과 따라하려니까 파일이 없다?... 참고링크 : http://php-built.com/uninstall-mysql-from-os-x-yosemite/ 기존에 uninstall 방법에서와 차이점은 요세미티 (10.10) 에서는 /etc/hostconfig 파일이 존재하지 않는다. 대신에 이거 두개를 해줘야 함 $ sudo rm -rf /Library/LaunchDaemons/com.microsof..

NOWS/MEMO 2016.07.12

프로세스 - part 1. 프로세스 기술(description) 과 제어

part 1. 프로세스 기술(description) 과 제어 프로세스 : 수행 중인 프로그램 프로세스의 필수 적인 요소프로그램 코드 및 연계된 데이터의 집합프로세스를 식별하기 위한 구조 : Process Control Block (PCB) PCB의 주요 역할 : 프로세스의 다중처리 지원을 위해 프로세스 문맥의 정보를 유지프로세스가 인터럽트 될 때, PCB에 정보를 저장하고 추후 재 스케줄링 될 때 해당 정보를 적절히 복구하여, 프로세스 수행에 차질이 없도록 함 프로세스 상태2-상태 프로세스 모델 : 수행-비수행5-상태 프로세스 모델 : 생성-(준비-수행-블록)-종료cf. 준비큐. 블록큐.보류된 프로세스의 특성즉시 수행 불가보류 상태를 명시적으로 해제하지 않는 이상 해당 상태에서 벗어날 수 없다보류 이유 ..

ch 6. Formal Relational Query Languages (Part 2. Tuple Relational Calculus & Domain Relational Calculus)

Part 2. Tuple Relational Calculus & Domain Relational Calculus 관계대수는 기호의 순서에 따라, 절차에 맞게 처리해야하기 때문에 순차적이다. 하지만 6장의 관계대수 부분 다음에 나오는 아래 이야기들은 표현의 절차를 없앰으로써, 비절차적으로 수행할 수 있음을 보여준다.관계 대수에 비하여 큰 비중을 차지하지 않으나, 어떤 개념인지 파악하고 넘어가면 좋을 것 같다. Tuple Relational Calculus (튜플 관계 해석) 비절차적 쿼리 언어로서, 각 쿼리는 다음과 같은 형태를 지닌다.(db1)이 것은 조건 P를 만족하는 모든 t에 대한 집합을 나타낸다.t는 튜플변수로서, t[A]는 속성 A에 대한 튜플 t의 값을 나타낸다T[ID], t[dept_name..

Computers/Databases 2016.07.11