반응형

hacking 90

[Web Hacking] WebGoat SQL Injection(advanced) 5 문제풀이

※ 선행 학습 필요 개념 Blind SQL Injection Blind SQL injection은 데이터베이스에 참 또는 거짓 질문을하고 응용 프로그램 응답에 따라 답을 결정하는 SQL 주입 공격 유형입니다. 이 공격은 웹 응용 프로그램이 일반적인 오류 메시지를 표시하도록 구성되었지만 SQL 삽입에 취약한 코드를 완화하지 않은 경우에 종종 사용됩니다. 공격 유형 1) Boolean based Blind SQL Injection [ 외부 입력값 ] 제목검색: hello' AND 1=1-- (유효한 검색단어와 항상 참이되는 조건 부여) [결과] 게시판 검색됨 --> 참(true)이으로 간주 [ 외부 입력값 ] 제목검색: hello' AND 1=2-- (유효한 검색단어와 항상 거짓이 되는 조건 부여) [결과]..

[Bug Bounty] 네이버 버그 바운티 프로그램

Naver Bug Bounty Program https://bugbounty.naver.com/ko/ Naver Bug Bounty 네이버 버그 바운티 프로그램은 네이버 서비스의 취약점을 조기에 찾아 사용자들에게 안전한 서비스를 제공하기 위한 프로그램입니다. 전 세계의 보안 전문가들의 도움으로 네이버 서비스의 보안 취약점을 빠르게 찾아 고치고, 보안 전문가들의 노력에 적절한 포상을 지급함으로써 네이버 서비스를 더욱 안전하게 만드는 일을 장려합니다. bugbounty.naver.com

[Web Hacking] WebGoat SQL Injection(advanced) 3 문제풀이

※ 선행 학습 필요 개념 Union SQL Injection 2개 이상의 쿼리를 요청하여 결과를 얻는 UNION 연산자를 이용해 SQL Injection 공격을 가하는 것을 말하며 공격자는 이 연산자를 이용하여 원래의 요청에 한 개의 추가 쿼리를 삽입하여 정보를 얻어낸다. 공격이 가능한 전제 조건은 컬럼의 수가 같아야 하며 데이터 형식도 같아야 한다. step 1. 컬럼 갯수 알아내기 갯수를 알아내기 위해 앞의 쿼리문에 이어서 union select 1, %23 으로 쓴다면 에러가 뜰 것이다. 그러나 union select 1, 2, %23 => union select 1, 2, 3, %23 ... 순으로 컬럼의 갯수를 늘려가다보면 에러가 나지 않는 때가 나올때, 즉 컬럼의 갯수가 일치할 때를 알 수 있..

[webhacking.kr] 2번 문제

2번 문제를 클릭하게 되면 다음과 같은 화면만 보이게 된다. 이것만 가지고는 힌트를 얻을 수 없기 때문에 개발자 모드로 진입하여 확인해보기로 한다. 개발자 모드에서 확인해보면 주석으로 '만약 admin.php에 접근한다면 엉덩이를 걷어차버릴 거야'라는 문구를 확인할 수 있다. 혹시 모르니 url 뒤에 admin.php를 붙여 이동해보도록 하자. 하지만 해당 화면에서 pw 부분에 SQL Injection을 시도해보았지만 wrong password alert만 뜨게 된다. 다시 원점으로 돌아가 주어진 힌트들에 대해서 검토해보기로 하자. 처음에 개발자 모드에서 확인했던 HTML 코드를 다시 확인해보면 현재 날짜 및 시간이 주석처리 되어 있는 것을 확인할 수 있다. 단서를 찾기 위해 Cookie Editor를 ..

[webhacking.kr] 1번 문제

webhacking.kr 1번 문제를 클릭하게 되면 다음과 같은 화면이 나타나게 된다. 여기에서 view-source를 클릭해주면 다음과 같은 소스코드를 확인할 수 있다. 해당 PHP 소스를 살펴보게 되면 COOKIE['user_lv']값이 5보다 크면 solve()함수가 동작하지만 6보다 크거나 같다면 COOKIE['user_lv']값이 1로 반환된다고 나와있다. 즉, 쿠키값을 5보다 크고 6보다 작은 수를 넣어주면 문제를 해결하게 된다. 이제 해당 페이지의 쿠키 값을 확인하기 위해 Firefox의 Cookie-Editor를 설치한다. 설치 후, 쿠키 값을 확인해 보면 현재 값이 1로 되어있는 것을 확인 할 수 있다. 이제 이 값을 5.1로 바꿔고 저장한 다음, 새로 고침을 해보면 문제가 해결됬음을 알..

[Web Hacking] WebGoat SQL Injection 문제풀이

해당 문제를 번역해보면 다음과 같다 Q. 아래 양식을 사용하여 users 테이블에서 모든 사용자를 검색하십시오. 전체 목록을 얻기 위해 특정 사용자 이름을 알 필요는 없지만 'Smith'를 사용하여 한 사용자의 데이터를 볼 수 있습니다. 문제에서 Smith라는 단서를 줬다. SQL 쿼리문을 참으로 만들어 Injection을 시도해본다. Smith' or 1=1 -- 를 대입하면 쿼리가 무조건 참이된다. Get Account Info 버튼을 클릭하게 되면 테이블 전체를 응답값으로 받게 된다. 그 다음 문제인 Numeric SQL Injection을 살펴보자. Q. 아래 양식을 사용하여 users 테이블에서 모든 사용자를 검색하십시오. 전체 목록을 얻기 위해 특정 사용자 이름을 알 필요는 없지만 '101'을..

[Web Hacking] CentOS8 WebGoat 설치

WebGoat란 OWASP에서 제공되는 웹 보안 취약성을 내포한 웹 어플리케이션이다. XSS, Injection, Backdoor 등 각 웹 보안 취약성을 이해하고 공격 방법을 이해할 수 있도록 만들어져 있으며, 각 단계별로 풀어나가면서 웹 취약성에 대해 이해하고 대응할 수 있도록 도움을 준다. 설치순서 1. CentOS 시스템 업데이트 $ sudo yum install epel-release $ sudo yum update -y && sudo reboot 2. WebGoat 다운 wget https://github.com/WebGoat/WebGoat/releases/download/7.1/webgoat-container-7.1-exec.jar Build software better, together G..

[Bug Bounty] 버그 바운티

버그 바운티? 기업의 서비스나 제품 등을 해킹해 취약점을 발견한 화이트해커에게 포상금을 지급하는 제도로, 기업들은 버그바운티를 통해 빠르게 보안 패치를 적용할 수 있다. 구글, 애플, 페이스북, 마이크로소프트(MS) 등 글로벌 기업에서 보안성을 고도화하기 위해 활발하게 시행 중이다. 국내에서는 2012년 이 제도를 도입했지만 취약점을 밝히는 것을 꺼려하는 기업 문화와 보안 불감증 등의 이유로 포상금도 적고 신고 건수도 저조한 상태다. 국내에서 버그바운티를 실시하는 곳은 삼성, 네이버, 카카오, 네오위즈, 한글과 컴퓨터 등이다. [네이버 지식백과] 버그바운티 (시사상식사전, pmg 지식엔진연구소) 버그 바운티 참고 URL https://noirstar.tistory.com/category/Security/..

[Web Hacking] OWASP Top 10

OWASP 란 무엇인가? OWASP(The Open Web Application Security Project)는 오픈소스 웹 애플리케이션 보안 프로젝트입니다. 주로 웹에 관한 정보노출, 악성 파일 및 스크립트, 보안 취약점 등을 연구하며, 10대 웹 애플리케이션의 취약점 (OWASP TOP 10)을 발표했습니다. OWASP TOP 10은 웹 애플리케이션 취약점 중에서 빈도가 많이 발생하고, 보안상 영향을 크게 줄 수 있는 것들 10가지를 선정하여 2004년, 2007년, 2010년, 2013년, 2017년을 기준으로 발표되었고, 문서가 공개되었습니다. 아래 첨부파일은 2017년 기준 발표된 OWASP Top10 문서입니다. OWASP Top 10 List 다음 글에서는 각 리스트별 내용에 대해서 세부적..

[Penetration testing] Kali Linux 설치

참조 URL https://hack-cracker.tistory.com/78 1.칼리 리눅스 설치하기(feat.VMware) 칼리 리눅스란? - 칼리 리눅스(kali linux)는 정보보안을 테스트하기 위한 오픈 소스 리눅스 배포판인 백트랙의 후속버전이다. 이 안에는 백트랙처럼 수많은 해킹과 관련된 도구와 설명서들이 있다. 흥미 롭게도.. hack-cracker.tistory.com 칼리 실행 후 작업 1. 업데이트 한다. apt-get update (패키지 리스트 업데이트) apt-get dist-upgrade (의존성 고려 업데이트) 2. 메타스플로이트의 데이터베이스를 구축한다. service postgresql start 3. 부팅할 때 postgresql 데이터베이스를 시작하도록 설정한다. upd..

반응형