Liea
'웹해킹' 태그의 글 목록

웹해킹

④ 공부/CTF 문제 풀이

[MISC, Web] [DiceCTF 2024] Write-Up

이번 글은 DiceCTF 2024의 MISC, Web 문제들을 정리하였다. [ MISC ] misc/welcome dice{flag!} 단순 대회 룰 숙지 겸 문제이다. misc/survey 설문이 끝나면 플래그 값이 있는 링크를 준다. [ Web ] web/dicedicegoose 문제 페이지로 이동하면 위와 같은 사진이 나온다. wasd로 주사위를 움직일 수 있다. 소스코드를 확인하면 아래 코드를 볼 수 있다. 점수가 9점이어야 플래그를 알려준다. 또한 소스코드를 보니 history에는 player와 goose의 게임 내 이동 기록이 저장된다. 위 내용을 참고하여 9점에 게임이 끝나도록 아래와 같이 history에 값을 재설정해주었다. history = [[[0,1],[9,9]] ,[[1,1],[9,..

Bug Reporting

Proxy 사용 시 연결이 비공개로 설정되어 있지 않습니다. 페이지 안뜨게 해결하기

해결방법 Burp Suite를 실행시키고, Proxy → Proxy Settings → Import / export CA certificate 클릭 Export의 Certificate in DER format 선택 후 Next 클릭 인증서를 저장 할 위치와 파일명을 지정 후 저장한다. 이때 파일의 확장자는 .crt로 저장한다. 저장한 인증서를 더블클릭하여 아래와 같은 창을 띄우고 인증서 설치를 눌러준다. 아래 사진들을 참고하여 순서대로 따라하면 된다. 크롬인 경우 설정 - 개인 정보 보호 및 보안 - 보안 - 기기 인증서 관리 클릭 저장했던 인증서 추가 여기까지 따라왔다면 이제 해결하고자 했던 부분이 해결된다.

④ 공부/WarGame 문제 풀이

[Web] [Lord of SQLInjection] dark_eyes 문제풀이

상단에 나오는 쿼리문은 DB에 해당 쿼리문으로 데이터가 들어간다고 알려준다. id의 값이 admin, pw의 값이 ‘’인 파라미터가 있다. query : select id from prob_dark_eyes where id='admin' and pw='' 아래에는 php 코드가 나와있으며, 이걸 참고해서 문제를 푸는 것 이다. 해당 php 코드에서 자세하게 봐야 하는 부분은 이 부분인 것 같다. preg_match 조건문 부분을 보면 다음과 같이 필터링하고 있다. prob _ . () col if case when sleep benchmark addslashes() 함수를 사용하여 pw변수의 일부 문자열앞에 백슬래시(\)를 붙여서 반환한다. 싱글 쿼터('), 더블 쿼터("), 백슬래시(\), NUL(NU..

④ 공부/WarGame 문제 풀이

[Web] [Lord of SQLInjection] iron_golem 문제풀이

상단에 나오는 쿼리문은 DB에 해당 쿼리문으로 데이터가 들어간다고 알려준다. id의 값이 admin, pw의 값이 ‘’인 파라미터가 있다. query : select id from prob_iron_golem where id='admin' and pw='' 아래에는 php 코드가 나와있으며, 이걸 참고해서 문제를 푸는 것 이다. 해당 php 코드에서 자세하게 봐야 하는 부분은 이 부분인 것 같다. preg_match 조건문 부분을 보면 다음과 같이 필터링하고 있다. prob _ . () sleep benchmark addslashes() 함수를 사용하여 pw변수의 일부 문자열앞에 백슬래시(\)를 붙여서 반환한다. 싱글 쿼터('), 더블 쿼터("), 백슬래시(\), NUL(NULL)에 해당한다. 문제를 풀..

④ 공부/WarGame 문제 풀이

[Web] [Lord of SQLInjection] dragon 문제풀이

상단에 나오는 쿼리문은 DB에 해당 쿼리문으로 데이터가 들어간다고 알려준다. id의 값이 guest, pw의 값이 ‘’인 파라미터가 있다. query : select id from prob_dragon where id='guest'# and pw='' 아래에는 php 코드가 나와있으며, 이걸 참고해서 문제를 푸는 것 이다. 해당 php 코드에서 자세하게 봐야 하는 부분은 이 부분인 것 같다. preg_match 조건문 부분을 보면 다음과 같이 필터링하고 있다. prob _ . () 문제를 풀기 위해서는 id의 값이 admin 이어야 문제가 풀리는 듯 하다. 그런데 pw 값을 입력받고 있으나 앞에서 주석처리가 되고 있다. if(preg_match('/prob|_|\\.|\\(\\)/i', $_GET[pw]..

④ 공부/WarGame 문제 풀이

[Web] [Lord of SQLInjection] xavis 문제풀이

상단에 나오는 쿼리문은 DB에 해당 쿼리문으로 데이터가 들어간다고 알려준다. id의 값이 admin, pw의 값이 ‘’인 파라미터가 있다. query : select id from prob_xavis where id='admin' and pw='' 아래에는 php 코드가 나와있으며, 이걸 참고해서 문제를 푸는 것 이다. 해당 php 코드에서 자세하게 봐야 하는 부분은 이 부분인 것 같다. preg_match 조건문 부분을 보면 다음과 같이 필터링하고 있다. prob _ . () regex like addslashes() 함수를 사용하여 pw변수의 일부 문자열앞에 백슬래시(\)를 붙여서 반환한다. **싱글 쿼터('), 더블 쿼터("), 백슬래시(\), NUL(NULL)**에 해당한다. 문제를 풀기 위해서는..

④ 공부/WarGame 문제 풀이

[Web] [Lord of SQLInjection] nightmare 문제풀이

상단에 나오는 쿼리문은 DB에 해당 쿼리문으로 데이터가 들어간다고 알려준다. pw의 값이 (’’), id의 값이 ≠‘admin’인 파라미터가 있다. query : select id from prob_nightmare where pw=('') and id!='admin' 아래에는 php 코드가 나와있으며, 이걸 참고해서 문제를 푸는 것 이다. 해당 php 코드에서 자세하게 봐야 하는 부분은 이 부분인 것 같다. preg_match 조건문 부분을 보면 다음과 같이 필터링하고 있다. prob _ . () 또한 pw의 값이 6글자 미만이어야 한다. 문제를 풀기 위해서는 id≠’admin’의 값을 우회해야 문제가 풀리는 듯 하다. if(preg_match('/prob|_|\\.|\\(\\)|#|-/i', $_GE..

④ 공부/WarGame 문제 풀이

[Web] [Lord of SQLInjection] zombie_assassin 문제풀이

상단에 나오는 쿼리문은 DB에 해당 쿼리문으로 데이터가 들어간다고 알려준다. id, pw의 값이 ‘’인 파라미터가 보인다. query : select id from prob_zombie_assassin where id='' and pw='' 아래에는 php 코드가 나와있으며, 이걸 참고해서 문제를 푸는 것 이다. 해당 php 코드에서 자세하게 봐야 하는 부분은 이 부분인 것 같다. preg_match 조건문 부분을 보면 다음과 같이 필터링하고 있다. prob _ . () addslashes() 함수를 사용하여 id, pw변수의 일부 문자열앞에 백슬래시(\)를 붙여서 반환한다. 싱글 쿼터('), 더블 쿼터("), 백슬래시(\), NUL(NULL)에 해당한다. 그 후 그 문자열은 strrev() 함수에 의해..

④ 공부/WarGame 문제 풀이

[Web] [Lord of SQLInjection] succubus 문제풀이

상단에 나오는 쿼리문은 DB에 해당 쿼리문으로 데이터가 들어간다고 알려준다. id, pw의 값이 ‘’인 파라미터가 보인다. query : select id from prob_succubus where id='' and pw='' 아래에는 php 코드가 나와있으며, 이걸 참고해서 문제를 푸는 것 이다. 해당 php 코드에서 자세하게 봐야 하는 부분은 이 부분인 것 같다. preg_match 조건문 부분을 보면 다음과 같이 필터링하고 있다. prob _ . () ‘ 문제를 풀기 위해서는 id의 값이 올바른 id어야 문제가 풀리는 듯 하다. if(preg_match('/prob|_|\\.|\\(\\)/i', $_GET[id])) exit("No Hack ~_~"); if(preg_match('/prob|_|\..