일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Docker
- python
- 백준
- 나이순 정렬
- Make sure the Cursor is initialized correctly before accessing data for it.
- 클라우드가 뭐야
- pwnable.kr
- cmd1
- 포너블
- 블록체인
- SQLiteConstraintException
- 애너그램 그룹
- 클라우드란?
- 액션바 필요없숴
- 10814
- Couldn't read row 0
- 6566
- cmd2
- 쏘큩
- UNIQUE constraint failed
- 페니빙
- pwnable
- java.lang.IllegalStateException
- 파이썬
- pwable.kr
- tlqkf
- Drive-By-Download
- col -1 from CursorWindow
- 코틀린
- kotlin
- Today
- Total
목록SECURITY (44)
푸르미르
VM껐다가 다시 켰더니 접속 안됨. 좋아하던 찰나 Toddler's Secure Login System 1.0 beta. \n이 print된 후, welcom() 함수가 실행. welcom() 함수는 name을 입력받아 Welcome $name을 출력 후 end login()함수 실행. passcode1을 입력받고 입력버퍼 지우기. //32비트는 브루트포싱에 취약하다고 한다. passcode2를 받고, passcode1이 338150과 같고, passcode2가 13371337과 같으면 login ok => flag 보여줌 이때 이 코드에서 이상한 점이 하나 있는데, scanf로 입력받을 때 주소값을 넘겨준게 아님. => 이게 warning이 난 이유 아마 이 파일을 실행시켰을 때, passcode1 에..
리버싱에 관련있는 거 같은데 문제에서 하라는 대로 다운을 받았다. 다운 받은 파일에 대해 궁금하니 ls -al 해당 파일을 실행파일로 바꿔보자 chmod +x flag 실행파일로 바꾼 flag파일을 실행시켜보자 I will malloc() and strcpy the flag there. take it. => malloc,strcpy, flag를 그곳에 둘것이니 가져가시오. 이것으로 본다면 flag는 c언어로 작성된 파일이라는 것을 알 수 있다. gdb로 flag 파일을 디버깅 하려했더니 No debugging symbols found in flag => 가능성 1. 파일 손상 2. 암호화 되어있어 읽지 못함 flag파일을 윈도우로 가져와서 freeware을 돌려보았다. 맨아래 unpack info에서 d..
보통 icmp 페이로드 크기를 65000바이트 이상으로 설정하고 ip스푸핑 공격을 적용해 출발지 ip주소를 매 순간 임의로 변경해 전송한다. 수신축에서는 매번 분할 패킷을 재조립한뒤 icmp응답 패킷을 전송해야 하기 때문에 그만큼 과부하가 클 수 밖에 없다. 1. 공격자, 공격 대상자 서버 IP 조정 공격자/backbox 공격 대상자/xubuntu 2. 공격자 서버에 hping 설치 su - apt install hping 3. 공격자서버에서 xubuntu로 icmp날리기 28headers + 65000 data bytes 부분은 65000바이트의 icmp 페이로드를 생성한 뒤 8바이트의 icmp헤더와 20바이트 ip헤더를 붙였다는 내용을 의미한다. 4.wireshark로 65000data가 잘 갔는지 ..
bof 매우 중요한 buffer overflow 일단 파일들을 다운로드 받자. cat bof.c func에 들어온 key value가 0xcafebabe과 같으면 쉘을 실행시킬 수 있다. 하지만 이미 main에서 key에 0xdeadbee를 주었기때문에 불가능하다. 이 문제의 키포인트는 gets함수이다. gets함수는 입력으로 들어온 문자열을 c언어 스타일의 문자열 char[] 타입으로 저장해주는 함수이다. gdb 모르겠다. 튄다.
collision 충돌 해시 충돌에 대한 문제인 것 같다. ssh col@pwnable.kr -p2222로 가자 ls -al명령어 사용 flag는 권한이 안되니까 못보고, col.c를 살펴보자. 좀 짤렸다.ㅎ passcode length가 20bytes가 되어야 한다. 또 hashcode와 check_password(argv[1])가 같으면 flag를 볼 수 있다. python을 열어서 hashcode의 값을 5로 나누고 그 값을 합하여 res로 넘겨준다면 hashcode와 동일할거라 생각하였다.
포너블이란 운영 체제나 소프트웨어, 하드웨어에 내재된 보안 취약점을 해킹하는 것. 흔히 리트에서 따온 pwn을 써서 포너블(Pwnable)이라고도 부른다. 오늘은 pwnable.kr의 1번 문제 fd를 풀어보자. 문제이름이 fd 인데 file descriptor을 연상케한다. 이게 힌트일까? 문제 내용을 살펴보자. beginner이면 해당 유튜브 링크로 들어가서 보라는거고, 그 아래 ssh fd@pwnable.kr -p2222로 가라는 것같다. 결국 알아야 하는 것은 flag인 것이다. 리눅스 창에서 들어가보자. fd유저로 ssh로 pwnable.kr애 접속하라는 것인데, - p옵션을 보면 default ssh port 대신 2222포트로 하라는 것이다.(passwd: guest) 내 리눅스에는 ssh가..
응답 데이터 분석 웹 애플리케이션 보안제품, 절차, 도구들은 인바운드 데이터에만 너무 초점을 맞추고 있다. 그들은 인바운드 HTTP 요청 데이터에만 분서의 중심을 두고 아웃 바운드 HTTP응답은 본질적으로 무시한다. 이 전략에 대한 이론적 근거는 모든 인바운드 공격을 식별하고 차단할 수 있다면 아웃바운드 응답 문제에 대해 걱정할 필요가 없다는 무지한 신념이다. 웹 애플리케이션에 영향을 주는 모든 가능한 공격 방법을 간단히 차단할 수는 없으므로 이것은 무모한 패러다임으로 보인다. 관련된 예시로서 어떤 공격은 인바운드 공격 전송을 위해 HTTP조차 사용하지 않는다. 아웃바운드 응답 데이터를 분석하기 전에는 공격이 성공적으로 수행됐다는 것을 발견하지 못할 수 있다. 그래서 아웃바운드 데이터 내에 감염됐거나 설..
요청 데이터 수집 인바운드 요청 데이터에 대해 보안 분석을 하기 전에 모든 데이터 요소에 제대로 접근 할 수 있는지 확인해야 한다. 어떠한 잠재적인 공격 경로를 놓치지 않으려면 모든 요청 데이터에 적절한 가시성을 가지고 있는지 확인해야 한다. 요청 바디 접근 기본적으로 모드시큐리티는 요청바디 내용에 대해 접근, 처리, 분석을 하지 않는다. 공격자는 post바디 매개변수로 탐지를 쉽게 회피할 수 있기 때문에 미탐과 관련한 심각한 문제가 있다. 요청바디에 대한 통찰력을 얻으려면 모드 시큐시큐리티에 몇개의 지시자를 설정해야한다. 기본지시자 SecRequestBodyAccess: 만약 활성화되어있으면 모드시큐리티가 요청바디 내용을 버퍼에 보관하고 REQUEST_BODY변수 ARGS컬렉션 데이터의 내용을 채운다...
허니트랩 허니트랩은 웹 애플리케이션의 전반에 걸쳐 심어져서 공격자에게 가상의 지뢰밭처럼 동작한다. 어떠한 상호작용이나 변경도 허용하지 않았으므로 상호작용한다면 확실히 의심해볼 수 있다. 허니트랩의 진정한 가치는 정상적인 사용자로부터 악성적인 사용자를 빠르게 구별할 수 있다는 점에서 나온다. 허니트랩의 이점 1.높은 정확도의 경고 2.적은 수의 경고 3.미탐을 식별 허니팟 포트를 추가해보자. 완전히 새로운 허니팟 시스템을 구축할 필요없이 현재의 웹 서버의 플랫폼을 쉽게 재사용할 수 있다. HTTP요청 트래픽을 받아들이는 네트워크 포트를 추가함으로써 허니트랩을 구현 할 수 있다. 이 포트들은 정상적인 목적을 가지고 있지 않으므로 수신한 어떤 트래픽이라해도 의심을 한다. 아파치 Listen 지시자: 아파치의 ..
2장 취약점 확인 및 개선 웹 애플리케이션을 내부개발과 외부개발(상용 및 오픈 소스 애플리케이션 모두 포함)이라는 두가지 주요 개발 카테고리로 분류할 수 있다. 이 개발 카테고리는 취약점을 개선하기 위해 필요한 시간에 직접적으로 영향을 미친다. 가상 패칭 최근 웹 애플리케이션 방화벽에 일반적으로 사용되고 있다. 외부 패칭, JIT패칭 등 다양한 이름이 존재한다. 가상패칭은 알려쥔 취약점을 악용하는 것을 방지하기 위한 보안 정책 집행 계층이다. 악의적인 트래픽이 웹 애플리케이션에 전송되지 않도록 보안 집행 계층 트랜잭션을 분석해 전송중인 공격을 가로채는 방식으로 동작한다. 그 결과 웹 애플리케이션의 소스코드는 수정되지 않았지만 악성적인 시도는 실패하게 된다. 가상 패칭의 목표는 취약점의 노출된 공격 표면을..