분류 전체보기
-
파일 업로드 취약점보안공부/웹 해킹 2024. 2. 5. 22:16
파일 업로드 취약점이란? 공격자가 악의적인 파일을 업로드하여 서버를 공격하거나 사용자 정보를 탈취하는 데 악용될 수 있는 취약점입니. 파일 업로드 취약점에서 가장 중요한 것은 웹쉘입니다. 웹쉘이란 공격자가 서버에 임의 코드를 실행할 수 있도록 하는 악성 스크립트입니다. 즉 원격에서 명령어를 실행할 수 있는 터미널을 획득한다고 이해하면 됩니다. 웹쉘이 업로드될 경우 해당 파일 URL 정보를 공격자가 알 수 있으면 해당 서버는 웹쉘을 통해 변조, 데이터 유출, 서버 삭제 등의 공격에 취약합니다. 파일 업로드가 실제 취약한 경우는 아래의 조건을 만족해야 실제 공격이 가능합니다. 1. 악성 스크립트 파일이 업로드되야합니다. 2. 업로드된 이후 해당의 경로가 외부에서 접근이 가능해야 합니다. 3. 접속 경로가 확..
-
네이버 PER제도 후기리뷰 2024. 1. 12. 14:19
네이버 PER제도는 PER(프라이버시 강화 보상제도, Privacy Enhancement Reward)로 네이버에서 2016년 국내 최초로 도입한 프라이버시 및 개인정보 영역에서 개선점을 제보 받고, 채택된 의견에 대해 사례 및 보상을 해주는 제도입니다. 즉 네이버 서비스와 관련된 개인정보 관련된 제보를 하게 되면 리워드를 주는 제도로 버그바운티와 유사한 제도입니다 :) 22년 말부터 사이드 프로젝트(업무외 프로젝트)로 진행하였던 네이버 버그바운티 유효제보 1건을 위해 엄청나게 제보하다가 버그바운티를 통해 알게된 제도입니다. 결론은 네이버 PER제도 그랜드 오프닝 이후 23년 최종 2등을 차지하게 되었습니다! 물론 실무에서 기술적인 분야에 대한 업무를 진행하긴 하지만, 공부 중 개인정보와 관련된 내용은 ..
-
SQL Injection 공격 총 정리(추가중)보안공부/웹 해킹 2020. 11. 10. 21:39
*공격 기법 정리 1. 기본 우회(필터링이 없을시) ' or '1=1 ' or 1=1#(주석처리 or --, /**/) 2. 인코딩을 이용한 우회(ex : hex encoding, url encoding, unicode 등등) 인코딩을 온라인에서 할수 있는 사이트 : https://www.convertstring.com/(여러가지 인코딩이 있습니다. 해보고 안되면 다른걸로 인코딩하여 값을 넣어보면 될듯 합니다.) 보통 위에 기본 우회가 안되면 서버 언어에서 or 1=1등 sql injection에서 많이쓰는 문자를 값을 받아오기전에 필터링을 하는 경우도 있기 때문에 인코딩을 하여 보내면 갈때 당시에는 다른 값으로 인식하지만 도착후엔 우리가 원하는 값으로 인식되기 때문에 우회가 되는 것이다. 3. 공백 우..
-
webhacking.kr 47번(통신문제)보안공부/워게임 2020. 3. 18. 21:03
처음 칸엔 별 내용이 없다. 옆에 send버튼을 클릭하니 값이 나왔다. 통신을 출력해주는것 같은대 no-reply@webhacking.kr 메일에서 no-existed@webhacking.kr 메일로 flag값을 보내주는 문제 같다. 즉 우리 메일로 같이 flag를 받으면 해결되는 문제이다. 여기서 쓰이는 방법은 메일 헤더 인젝션이라는 공격 기법이다. 메일 헤더 인젝션(mail header injection)이란? mail(받는사람, 제목, 내용, [추가헤더,[추가인자]]) 이런식으로 구성된다고 한다. 즉 위에 걸로 대입한다면 mail(no-existed@webhacking.kr, Flag of webhacking.kr old-47 chall, flag{?????})이런 식으로 가는대 우리가 추가 헤더에..
-
Lord of SQL injection 10번 문제(skeleton)보안공부/워게임 2020. 3. 6. 14:12
요새 전역하면서 사람들 만나고 다니고 케이쉴드 주니어 붙으니까 공부를 안하게 된 것 같다... 그래서 초심을 되찾고자 바로 문제를 풀었다. *9번 문제가 없는 이유는 8번과 똑같은 방법으로 허무하게 풀려버려서 안썻습니다! 모르시는 분은 8번 참조하세요! 가장 눈에 뛰는 부분은 query부분에 마지막쪽을 보면 and 1=0부분이다. 무조건 거짓으로 되기 때문에 쿼리가 성립되지 않는다. 일단 admin을 추가해서 해봤다 preg_match 부분에 공백과 and or 등 필터링이 없기때문에 쳐봤지만 반응이 없다. 그 이유는 간단하다. id컬럼이 guest와 admin이런식으로 순서대로 나오기 때문에 맨위에값인 guest부분만 인식하기 때문이다. 그렇다면 간단하게 정렬을 해주면 a가 g보다 먼저오기 때문에 문제..
-
케이쉴드 주니어 정보보호관리진단 4기 최종 합격 후기!!리뷰 2020. 2. 29. 19:10
현재 군대에서 복무중이였답니다(코로나땜에 나와있지만 신분은 군인인..) 아무튼 28일날 최종 합격 문자와 메일이 함께 와서 기분이 매우 좋았습니다!!! 그래서 후기를 써볼려고 합니다. 우선 신청 1월 20일부터 신청을 받았던걸로 기억하는대 그때 마침 휴가를 나와있어서 바로 신청했습니다!! 저같은 경우는 꿈이 보안 컨설턴트와 모의해킹 전문가 둘중하나로 취업하고 싶어했기 때문에 침해대응분석과정은 보지도 않고 바로 정보보호관리진단과정으로 신청했습니다!! 여기서 자잘한 팁을 드리자면 자신의 진로가 무엇인지 생각하시고 저처럼 한가지 트랙만 신청하세요!!!(그 이유는 아래에서 나옵니다!) 서류가 붙었다는 연락은 부대에서 확인하게 되었는대 솔직히 서류붙기 전까지는 면접까지 뭐 쉽겠지 이러면서 지냈지만 막상 서류가 붙..
-
Lord of SQL injection 8번 문제(troll)보안공부/워게임 2020. 2. 17. 22:18
이번 문제는 소스가 되게 간결하다 전문제들이랑 다른 점은 @ereg가 생겼다는 것이다. ereg는 첫번째 문자열 값이 두번째 문자열에 값이 있나 체크하는 함수이다. 즉 get['id']에 admin이면 필터링되는 것인대 ereg의 우회법은 굉장히 간단하다. 일단 ereg는 대소문자를 구별하여 필터링한다. 다른 함수로 eregi함수가 있는대 이것은 대소문자 구별 안하고 필터링을 한다. 즉 ereg는 대소문자를 구별하지 않기 때문에 ADMIN값을 넣으면 필터링된다. 이번 문제도 ereg함수가 어떤 함수인지 알면 문제해결하기 쉬운 문제였다. 추가 지식으로 ereg함수와 eregi는 php버전에 따라서 맨앞에 %00(null byte)를 넣음으로써 우회할수도 있다고 한다.