본문 바로가기

Technical Docs/Web Application

(10)
PHP - OS Command function list 우리회사는 메인언어로 php를 사용하고 있다. 프레임워크(lalabel, codeigniter 등) 없이 쌩으로 php를 만들어서 사용하고 있다보니 신기하다. 무튼 각설하고 오늘은 php에서 os명령어를 입력할 때 사용하는 여러가지 방법에 대해서 알아보자 해당 리스트를 소스코드 진단 등에 활용해보자! 1. Shell_exec (php 4,5,7,8) 2. exec (php 4,5,7,8) 3. system (php 4,5,7,8) 4. ` `(backtick) (php 4,5,7,8) 5. expect (php wrapper를 사용하는 곳 ex. file_get_contents) (PHP 4 >= 4.3.0, PHP 5, PHP 7) + expect 설치가 필요함 뚜봄뚜봄  2024. 3. 2. 17:26
XSS 방어하기 XSS (Cross site script)를 방어하는법을 알아보자. XSS 의 종류에는 Reflected / Stored / DOM Base 3가지가 있는데, DOM Base는 이전에 올린 게시물인 DOM Base를 보면 되고 이번에는 나머지 2개에 대해서 좀 더 알아보자. DOM base와 나머지 2개의 차이점은 사용자의 입력이 서버와 상호작용을 하느냐와 연관이 있다고 볼 수 있다. 여기서 가장 중요한 부분! 어쨋든 공격을 하려면 공격 스크립트가 담긴 문구를 서버에 던질테니 막으려면 서버에서 사용자의 입력에 대한 필터링을 추가해주면된다. 그러면 어떻게 추가하는게 좋을까? 우선 어떤방법으로 사용자가 공격하는지 알아보자. 아주 간단한 예시로 Get 방식을 통해 nickname 라는 매개변수를 넘겨주면 해당.. 뚜봄뚜봄  2022. 8. 4. 23:31
Burp : Host header authentication bypass 오늘도 업무중에 재미난게 있어서 작성한다. 물론 내가 찾은 취약점은 아니지만 신기하게도 방어 해놨구나 싶어서 작성한다. 특정 라우팅 (ex. /admin) 같은 페이지에 대해서 Authentication을 걸어놔서 401 에러가 뜨도록 만들어 놨다. 그런데 웃긴건 실제 리눅스 또는 미들웨어에서 존재하는 ACL(Access Control List) 기능을 통해서 막은건 아니고 헤더값을 통해서만 막아놓은 것 같다. 위의 상황과 거의 유사한 테스트가 PortSwigger 의 Lab에 존재해서 가져왔다. 대충 Lab을 통해 페이지에 접근하면 다음과 같은 쇼핑몰? 화면을 볼 수 있다. 많은 CTF 또는 pentester 또는 bwapp에서 봤듯이 robots.txt를 들어가보자. (사실 실제 컨설팅을 할때나 지금.. 뚜봄뚜봄  2022. 7. 18. 21:34
Python Flask로 라우팅 관리해보기 사실 나는 Python 웹 프레임워크중에 장고만 써봤지 Flask는 한번도 안써봤다. 근데 뭐 내생각에는 그냥 테스트용 또는 빠르게 웹 개발이 필요할 때 써먹을만 한거 같다. 노드와 비슷하게 라우팅을 바로바로 함수에 덧붙이다보니 해당 부분은 가시성이 있는데, 이게 파이썬이다 보니 아무리 깔끔하게 짜도 막상 다시보면 더럽다.... 내가 만들때까지만 개편함... 오늘은 그 중에서도 Blueprint 라는 라이브러리를 이용해서 라우팅 하는 방법을 정리해보고자 한다. 우선 어떤 상황에서 써먹을지 생각해보자. 우리는 아래와 같은 라우팅 경로가 필요하다고 가정해보자 /admin/bintoascii /admin/asciitobin /admin/hextobin /admin/bintohex /user/jpgtopdf /.. 뚜봄뚜봄  2022. 7. 15. 01:02
DOM Invader (Burp Suite) DOM Invader 란, Burp 에서 제공하는 chrome extension으로 사용자가 DOM XSS 찾을 필요 없이 알아서 스캔해주는 툴이다. DOM Base XSS는 다른 XSS와 달리 서버와 별도의 통신없이 브라우저에서 실행되는 XSS 라고 생각하면 됩니다. DOM 이란 Document Object Model의 줄임말로 XML 또는 HTML 브라우저에서 처리하기 위해 사용하는 인터페이스 입니다. 아래와 같이 구성된다고 보면 됩니당 무튼 저곳에 XSS 를 삽입하는게 DOM Based XSS 인데 burp 에서 확장프로그램을 통해 이걸 쉽게 찾아줍니다. 뭐 물론 패턴으로 탐지하는거라 진짜 굇수들 보단 못찾겠지만 일반 사람보단 훨씬 잘 찾을 듯 합니다. DOM Invader 설치 및 실행 1. Bu.. 뚜봄뚜봄  2022. 6. 23. 21:23
CVE-2022-26134 Confluence 취약점 (내용추가) 6월 2일에 Confluence 관련 취약점이 나왔다. 우리회사에서도 해당 제품을 사용하고 있기 때문에 찾아 봤지만 실제 페이로드가 나와있는 곳은 없었다. 아직 패치가 나오기도 전이고 따끈따끈한 내용인거 같아서 대충 정리한다... 그나마 자세한 내용이 https://www.volexity.com/blog/2022/06/02/zero-day-exploitation-of-atlassian-confluence/ 여기에 있다. CVE-2022-26134 unauthenticated, remote code execution vulnerability RCE 취약점 이라고 한다. 대충봐도 위험하다는 느낌이 든다. Affected Versions 이게 블로그마다 달라서 어떤게 정확한지는 모르겠는데, 위의 링크에 달린 .. 뚜봄뚜봄  2022. 6. 3. 18:54
Source Map 이 뭘까요~ 요즘에 많이 사용하는 React 등등의 프레임워크를 사용해서 서비스를 하면 실제 브라우저를 통해 js를 보면 Webpack에 의해서 많이 압축되어있다. 요런 압축되어 있는 소스와 원본 소스를 매핑시켜주는 맵이라고 생각하면된다. 압축한걸 왜 다시 매핑해주냐면 실제 서비스에서 에러가 발생하면 압축되고 난독화 되어있기 때문에 디버깅 하기가 되게 난해하다. 그런걸 방지하기 위해서 Source Map이 있다고 생각하면 편할듯하다...? React 메인 홈페이지로 들어가보자. 사진을 보면 React 자체에서 압축을 해서 내려보내기 때문에 사용자 입장에서는 해당 JS를 수정하거나 이해하거나... 등등 불가능하다. 그러면 이제 다음 사진을 보자. 아래에 web pack:// 이라는 곳을 보면 React 에서 제공하는 .. 뚜봄뚜봄  2022. 6. 1. 21:57
CVE-2022-22978 Authorization Bypass in RegexRequestMatcher 해당 취약점은 스프링에서 발생하는 취약점이다. 대충 어떤 취약점이냐면 Authorization Bypass in RegexRequestMatcher 인데, 대충 해석해보면 RegexRequestMatcher 에서 어떤 특별한 페이로드 삽입을 통해 Authorization를 우회한다는 내용인것같다. 좀 더 자세히 살펴보자. 머 CVSS 점수가 몇 점이고 뭐 그런거는 구글에 CVE 번호만 검색해도 수두룩하게 나온다. https://nvd.nist.gov/vuln/detail/CVE-2022-22978 NVD - CVE-2022-22978 References to Advisories, Solutions, and Tools By selecting these links, you will be leaving NIS.. 뚜봄뚜봄  2022. 5. 31. 22:22