일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 오블완
- 정처기 필기
- web security academy
- Session Manager
- aws lambda
- File Upload
- AWS SSM
- ELB
- AWS CLI
- 스마트컨트랙트
- metacode
- amazon s3 트리거
- 티스토리챌린지
- aws 트리거
- 메타코드M
- metacodem
- 정처기
- 메타코드
- Path Traversal
- 블록체인
- 정처기필기
- 보안 그룹
- systems manager
- 탈중앙화
- web shell
- 정보처리기사
- web3
- splunk db connect
- web3 보안
- 스마트 컨트랙트
- Today
- Total
목록Normaltic Study (16)
min8282

CSRF(Cross Site Request Forgery, 교차 사이트 요청 위조)웹 서비스는 쿠키 또는 세션을 사용해 이용자를 식별한다. 임의 이용자의 쿠키를 사용할 수 있다면, 임의 이용자의 권한으로 웹 서비스 기능을 사용할 수 있다는 것이다. CSRF는 임의 이용자의 권한으로 임의 주소에 HTTP 요청을 보낼 수 있는 취약점이다. 공격자는 임의 이용자의 권한으로 서비스 기능을 사용해 이득을 취할 수 있다. 예를 들면, 이용자의 계정으로 임의 금액을 송금해 금전적인 이득을 취하거나 비밀번호를 변경해 계정을 탈취하고, 관리자 계정을 공격해 공지사항 작성 등으로 혼란을 야기할 수 있다. CSRF 동작CSRF 공격에 성공하기 위해서는 공격자가 작성한 악성 스크립트를 이용자가 실행해야 한다. 이는 공격자가 ..

저번주는 XSS 중 Reflected XSS, Stored XSS를 배우고 실습해 봤다. Stored XSS는 악성 스크립트를 웹 서버의 DB에 저장하여 이후 웹 페이지가 이 데이터를 사용자에게 보여줄 때, 악성 스크립트가 실행된다. 게시판 글쓰기, 댓글 등 사용자 입력이 저장되는 곳에 자주 사용된다. Reflected XSS는 악성 스크립트를 포함한 URL을 생성하여 피해자에게 전달한다. 피해자가 이 URL을 클릭하면, 스크립트가 웹 서버에 용청되고, 응답 페이지에서 실행되게 한다. 검색 결과 페이지나 오류 메시지 등 사용자 입력이 즉시 반영되는 곳에 사용된다. 앞선 실습 페이지에서 Stored와 Reflected XSS 취약점이 발생하는 부분을 찾고 alert(1)을 사용해서 작동시켰다. 이번주에는..

SQL Injection 1번 문제는 주어진 사이트에서 비밀 데이터(flag)를 찾아야 한다.주어진 사이트를 접속해보면 위와 같이 검색을 할 수 있고, 검색 시 ID, Level, Rank Point, Rate를 확인할 수 있는 페이지다. 과정1 - SQL Injection 포인트 찾기flag를 찾기 위해 가장 먼저 찾아야 하는 것이 SQL Injection이 적용되는 지점을 찾아야 한다. 1번 문제답게 비교적 쉽게?(사실 대놓고..) 찾을 수 있다. 바로 검색창이다. 사실 사용자가 별다른 입력할 곳이 검색창 말고는 없기 때문에 가장 먼저 검색창에서 SQL Injection이 적용이 되는지부터 확인했다. 보다시피 검색 필터가 User ID로 되어 있으니 입력한 키워드와 서버 데이터베이스에 있는 데이터와 ..

이번 문제는 관리자 계정으로 로그인을 하는 것인데 관리자 아이디를 모른다. 일단 주어진 아이디로 http history를 확인해 봤다.이전 문제들과 요청하는 게 다른 게 없다.POST로 요청하고 GET 메서드로 index.php를 응답받는다.마찬가지로 doldol 아이디로 로그인 됐다.보통 admin 계정은 처음 로그인 로직을 구현하고 DB를 연동시킬 때 가장 처음에 추가하게 된다. 따라서 다른 row의 아이디로 로그인을 시도할 수 있는지 확인해 봤다. 먼저 로그인 로직이 식별/인증 동시라고 가정하고 doldol 또는 Ture(1=1) -> 테이블의 모든 값을 가져오게 했다. select * from member where UserId='doldol' or 1=1 # ' and Password='아무거나..

문제 링크로 이동하면 바로 이 화면이 나온다.Fire 버튼을 클릭하면 위 처럼 나오고관리자 인증이 필요하며 인증 방법으로 비밀번호를 입력해 인증을 받아야 핵미사일을 발사할 수 있다.먼저 아무 비밀번호를 입력하고 burp로 req, res를 확인한다.서버로 요청은 이처럼 보내지고, admin_pass 부분에 내가 입력한 1234가 전달된다. Forward 시켜 웹 브라우저를 확인해 보면당연히 비밀번호가 일치하지 않는다.HTTP history를 확인해 보면 step1에step1에 해당 페이지로 이동되고step2에 해당 화면으로 이동한다. 여기서 비밀번호를 입력해서 인증 버튼을 클릭하면 GET 방식으로 내가 입력한 비밀번호를 파라미터로 전달하게 되고 step3 페이지로 이동할 것으로 예측할 수 있다. 그럼 이..