목록전체 글 (420)
외로운 Nova의 작업실
stack buffer overflow 실습을 해볼까합니다. - 취약점이 있는 코드 #include #include void init() { setvbuf(stdin, 0, 2, 0); setvbuf(stdout, 0, 2, 0); } void get_shell(){ char *cmd = "/bin/sh"; char *args[] = {cmd, NULL}; execve(cmd, args, NULL); } int main(){ char buf[0x28]; init(); printf("input: "); scanf("%s", buf)); return 0; } scanf 함수는 사용자로부터 받은 값을 검증하지 않고 버퍼에 넣기때문에 버퍼보다 사용자로부터 받은 값이 크다면 버퍼를 흘러 넘치게됩니다. buf의 크..
이번시간에는 error based sql injection 문제를 풀어보도록 하겠습니다. https://dreamhack.io/wargame/challenges/412/ error based sql injection Description Simple Error Based SQL Injection ! dreamhack.io - 문제인식 뭔가 sql을 집어넣는 곳이 있는 것 같습니다. 문제 파일을 다운로드해보겠습니다. import os from flask import Flask, request from flask_mysqldb import MySQL app = Flask(__name__) app.config['MYSQL_HOST'] = os.environ.get('MYSQL_HOST', 'localhost'..
- 뷰 클래스 액티비티는 화면을 표시하는데, 뷰 클래스의 하위 클래스들을 실행시켜서 화면을 구성합니다. 뷰 클래스의 하위 클래스들의 종류는 아래와 같습니다. TextView : 화면에 글자를 출력합니다. ImageView : 화면에 사진을 출력합니다. EditText : 화면에 글을 쓸 수 있는 상자를 출력합니다. Button : 화면에 버튼을 출력합니다. ListBiew : 화면에 리스트를 출력합니다. View : 구분선을 출력합니다. - View Group 뷰 클래스의 하위 클래스로 실제 화면을 출력하는 클래스들을 묶어서 제어할 클래스들의 모임입니다. 일조의 그릇 역할, html의 와 비슷합니다. 아래는 종류입니다. LinearLayout : 레이아웃 안에 있는 뷰 클래스들을 하나의 줄에 배치합니다...