일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 문자열
- 인코그니토
- N0Named
- Python
- Digital Forensics
- xcz.kr
- Web Hacking
- 써니나타스
- Text
- Web
- 백준
- CTF
- misc
- Forensics
- 수학
- HackCTF
- Network
- Incognito
- wargame
- writeup
- php
- SuNiNaTas
- 사칙연산
- 그리디 알고리즘
- 정렬
- Database
- 구현
- cryptography
- MySQL
- C
- Today
- Total
목록Security/Web Hacking (9)
보안을 그리다, 훈이
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/qtpT9/btrxoWsE0lc/Zkz9l8New62GnKHGgce4ik/img.png)
PHP extract() function extract() 함수는 배열 속의 키 값들을 변수화하는 역할을 한다. // Code 1 - Example of using the PHP extract() function 위 Code 1의 결과는 아래와 같다. // The result of Code 1. x = 1 y = 2 배열 a 속의 키 값인 x와 y가 extract() 함수로 인해 변수화된 것을 확인할 수 있다. 마찬가지로 $_GET 또는 $_POST 인자도 extract() 함수를 사용하여 넘길 수 있으며, 이 경우에도 GET 또는 POST로 넘어오는 파라미터와 값을 변수와 그 초기값으로 설정할 수 있다. PHP extract() function 취약점 extract() 함수를 사용하여 $_GET 또는 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/F8H1t/btrj2gYS4Qj/FqnfkSmsOPFMpRTeg4lFJ1/img.png)
앞서 포스팅한 [Web Hacking] CSRF(Cross-Site Request Forgery) 취약점을 토대로 실습을 진행해보았다. CSRF(Cross-Site Request Forgery) 실습 미리 구현한 게시판 환경에서 실습해보도록 하겠다. 본 웹페이지를 한사랑산악회 게시판이라고 가정, 운영진이 [한사랑산악회] 회비 납부 관련의 건.을 제목으로 한 게시글을 업로드하였다. 산악회 회원이라면 당연히 위 게시글을 읽어야만 할 것이고, 이후 명시된 바와 같이 기한 내에 30만원을 산악회 계좌번호로 납부할 것이다. 여기서 본 산악회 게시판이 CSRF 기법에 대한 방어가 제대로 갖춰져 있지 않다면 요청을 위조(Request Forgery)하여 해당 게시글을 수정하거나 삭제하는 등 공격자가 행하고자 하는 각..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ccdk6r/btrjiL4DLPN/JPOraqo4NGmMRmqABSOTuk/img.png)
CSRF(Cross-Site Request Forgery) 개념 CSRF(Cross-Site Request Forgery)는 XSRF 또는 사이트 간 요청 위조로 불린다. 이는 웹사이트 취약점 공격 기법이며, 사용자가 자신의 의지와는 무관하게 수정, 삭제, 등록 등 공격자가 의도한 행위를 특정 웹사이트에 요청하게 하는 공격이다. CSRF와 XSS(Cross-Site Scripting)의 개념이 상당부분 비슷해 보이지만 각각 공격이 실행되는 위치에 차이를 두고 있다. 일반적으로 XSS는 클라이언트(PC)에서, CSRF는 서버 단에서 공격이 발생한다. 즉, XSS는 사용자의 정보를 탈취하는 것, CSRF는 위조한 요청을 서버에 보내 공격하는 것이 목적이다. 대표적으로 2008년에 유명 경매 사이트인 옥션에서..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/u5Xf4/btri0cbXtUa/84LIKAiqFv05WkTi7ThKd1/img.png)
앞서 포스팅한 [Web Hacking] XSS(Cross-Site Scripting) 취약점을 토대로 실습을 진행해보았다. XSS 실습 앞서 제작한 게시판 웹앱에서 실습해 보기로 했다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/skas2/btrxjnXVVXs/esI5dmq9CkKrvcaiHbJOiK/img.png)
대표적으로 사용되는 XSS Cheat Sheet입니다. https://portswigger.net/web-security/cross-site-scripting/cheat-sheet Cross-Site Scripting (XSS) Cheat Sheet - 2021 Edition | Web Security Academy Interactive cross-site scripting (XSS) cheat sheet for 2021, brought to you by PortSwigger. Actively maintained, and regularly updated with new vectors. portswigger.net https://cheatsheetseries.owasp.org/cheatsheets/XSS_..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bisX9a/btriJuDyL4U/WQhqQE833LDks3bY3HEI80/img.png)
XSS(Cross-Site Scripting) 개념 XSS는 Cross-Site Scripting의 약어로, 공격자가 공격하려는 웹사이트에 스크립트를 삽입하여 사용자의 웹 브라우저에서 해당 코드가 실행되도록 하는 공격 기법이다. 따라서 사용자가 의도하지 않은 행동을 수행시키거나, 쿠키나 세션 토큰 등의 민감한 정보를 탈취하여 세션 하이재킹(Session Hijacking) 공격으로 악용될 수 있다. 대부분 사용자가 게시글을 작성하고 읽을 수 있는 게시판에서 많이 발생하며, 웹 페이지 상에서 사용자의 입력 값을 출력하는 곳에서도 발생한다. 기존에는 OWASP Top 10에 단독적으로 랭크되어 있던 XSS 공격 기법이지만, 이번 2021 OWASP Top 10 업데이트를 통해 Injection 공격 기법 범..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/DvSUS/btriit4RfZ6/JmhvbXxEc3hQZZfS8dYGWK/img.png)
얼마 전, OWASP Top 10 2021년 버전이 공개되었다. OWASP | The Open Web Application Security Project OWASP는 오픈소스 웹 애플리케이션 보안 프로젝트이며, 주로 웹에 관한 정보노출, 악성 파일 및 스크립트, 보안 취약점 등을 연구한다.웹 애플리케이션 취약점 중에서 빈도가 많이 발생하고, 보안상 영향을 크게 줄 수 있는 것들 10가지를 선정하여 3~4년 주기로 OWASP Top 10을 발표하며, 2021 OWASP Top 10은 2017년에 발표한 이후 4년만에 업데이트된 취약점 목록이다. 2021 OWASP Top 10 A01 : Broken Access Control (접근 권한 취약점) 엑세스 제어는 사용자가 권한을 벗어나 행동할 수 없도록 정책..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cGwqsO/btq4H1vqBa3/sxXGu3geQBk7xUKS29b3Wk/img.png)
이전에 포스팅한 [Web Hacking] SQL Injection 취약점을 토대로 실습을 진행해보았다. [SQL Injection 실습] - Error based SQL Injection 논리적 에러를 이용한 SQL Injection 기법으로, 입력값에 대한 검증이 없을 시 참값과 주석을 활용하여 세션을 탈취할 수 있다. //입력된 아이디가 DB에 존재하는지 검사 $query = "select * from member where id='$id'"; $result = $connect->query($query); 앞서 제작한 게시판 웹페이지 중 [login_action.php] 페이지의 일부 소스코드를 가져왔다. 사용자가 입력한 아이디가 DB의 id 컬럼에 존재하면 그 값에 대한 전체 속성값을 가져오는 쿼리..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/wRag0/btq4COnHapf/8KZPb7D50AVLk1ugPIsnl0/img.png)
[SQL Injection 개념] 웹 사이트의 보안상 허점을 이용해 특정 SQL 쿼리문을 전송하여 공격자가 원하는 데이터베이스의 중요한 정보를 가져오는 해킹 기법을 말한다. 대부분 클라이언트가 입력한 데이터를 제대로 필터링하지 못하는 경우에 발생한다. 공격의 쉬운 난이도에 비해 피해가 상당하기 때문에 보안 위협 1순위로 불릴만큼 중요한 기법이며, 실제로 OWASP Top 10 중 첫 번째(2017년 기준, 2021년 현재 세 번째)로 등재되어 있다 . [SQL Injection 종류] - Error based SQL Injection - 논리적 에러를 이용한 SQL Injection [로그인 쿼리문] SELECT * FROM member WHERE id = 'hooneee' AND password = '..