본문 바로가기

반응형

#WarGame

(57)
Lord of SQLInjection 3번 goblin https://los.rubiya.kr/ Lord of SQLInjection los.rubiya.kr Lord of SQLInjection 3번 goblin if(preg_match('/prob|_|\.|\(\)/i', $_GET[no])) exit("No Hack ~_~"); if(preg_match('/\'|\"|\`/i', $_GET[no])) exit("No Quotes ~_~"); 2번문제에서 필터링이 더 추가되었다. prob _ . () ' " ` 이번문제에서는 싱글쿼터와 더블쿼터를 사용할 수 없으며 no는 숫자만 입력이 가능하다. if($result['id'] == 'admin') solve("goblin"); id가 admin이면 문제가 해결된다. 하지만 현재 id는 guest로 나와있다..
Lord of SQLInjection 2번 cobolt https://los.rubiya.kr/ Lord of SQLInjection los.rubiya.kr Lord of SQLInjection 2번 cobolt - $query = "select id from prob_cobolt where id='{$_GET[id]}' and pw=md5('{$_GET[pw]}')"; 1번 문제와 필터링은 같지만 pw는 md5로 암호화를 한다. - if($result['id'] == 'admin') solve("cobolt"); id가 admin이면 조건이 만족하므로 admin 뒤에 주석처리를 하면 해결할 수 있다. ?id=admin%27%23 id='admin'#'을 적게 되면 pw는 주석처리가 되어 검증을 하지 않기 때문에 결국 참이 된다. 또 다른 방법은 or문이다..
Lord of SQLInjection 1번 gremlin https://los.rubiya.kr/ Lord of SQLInjection los.rubiya.kr Lord of SQLInjection 1번 gremlin if(preg_match('/prob|_|\.|\(\)/i', $_GET[id])) exit("No Hack ~_~"); // do not try to attack another table, database! if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~"); preg_match 함수 : php에서 정규표현식 패턴이 일치하는지 검색하여 반환하는 함수 첫번째 인수= 필터링, 두번째 인수= 검색 대상 문자열 id와 pw 둘다 같은 조건으로 필터링이 되어있다. 필터링 => prob ..
HackCTF _Cryptography #Classic Cipher -3 출처) ctf.j0n9hyun.xyz/challenges HackCTF Do you wanna be a God? If so, Challenge! ctf.j0n9hyun.xyz 압축을 풀면 Cipher.txt파일이 있다. "FqyeYBX{Yv4kk1y_Y1lfgt_1k_jgti_g4ki_1x91cqx14x}" flag 형태의 문구가 있는데 FqyeYBX를 HackCTF라고 본다면 알파벳 순서가 맞지 않아 Caesar암호는 아닌 것 같다. 아핀 암호 사이트에서 복호화를 해보았다. Affine Cipher - Online Decryption, Decoder, Encoder, Calculator Tool to decrypt/encrypt with Affine automatically. The Affine cip..
HackCTF _Cryptography #Classic Cipher -2 출처) ctf.j0n9hyun.xyz/challenges HackCTF Do you wanna be a God? If so, Challenge! ctf.j0n9hyun.xyz 주어진 압축파일에는 txt파일이 들어있었다. This is simple transposition cipher key is "python" Ciphertext is hreCp1_ev_s117nr_ys17eer132n_5 txt파일에 transposition cipher라고 나와있다. key로 주어진 문자열 자릿수와 알파벳 순서로 암호문의 알파벳 위치를 알맞게 바꾸어 평문을 만들면 된다. python을 알파벳 순서로 하면 465132이다. 암호문을 6자리씩 나누어서 보면 아래 표와 같다. 알파벳 순서대로 자리를 바꾸면 아래처럼 플래그를..
HackCTF _Cryptography #RSA3 출처) ctf.j0n9hyun.xyz/challenges HackCTF Do you wanna be a God? If so, Challenge! ctf.j0n9hyun.xyz n이 매우 큰 숫자이고, e가 매우 작은 숫자이다. 낮은지수 공격기법을 사용하면 된다. 암호문 c의 세제곱근을 구하면 평문이 된다. cbrt는 세제곱근을 구하는 함수이다. 실행결과 헥스값이 나왔다. ascii값으로 변환하면 플래그가 나온다. Flag : HackCTF{H3ll0_My_3xp0n3nt!}
HackCTF _Cryptography #RSA2 출처) ctf.j0n9hyun.xyz/challenges HackCTF Do you wanna be a God? If so, Challenge! ctf.j0n9hyun.xyz 문제에서 주어진 건 n,c 뿐이다. factordb.com/ 에서 주어진 n으로 p,q를 구할 수 있다. 문제는 e가 주어지지 않았지만, 대부분의 rsa에서 e는 65537또는 3이다. e가 65537이라고 가정하고 풀어보았다. #crypto-RSA2 from Crypto.Util.number import inverse n=675517326695494061190287679557796696358902817969424171685361 c=0xe3712876ea77c308083ef596a32c5ce2d7edf22abbc58657e e=6..
HackCTF _Misc #DNA 출처) ctf.j0n9hyun.xyz/challenges HackCTF Do you wanna be a God? If so, Challenge! ctf.j0n9hyun.xyz GTCA로 중복해서 나오는 걸로 보아 염기서열인 것 같다. 구글에 검색해보니 DAN code가 있는 것 같다. 2013.igem.org/wiki/images/d/d9/BGU_Kids_Activities_Full_Kit_-_new.pdf GTC ATA ATG CCG GGA CTT GGT{ACA TTC_ CAG AAA AAA ATT _GGC TAT TCT} 주어진 문자열을 세자리씩 나누어서 보면 "TmowOFR{e0_saap_PZ4}" 가 나온다. 플래그 형태이지만 아직도 암호가 되어있는 것 같다. ROT 디코딩을 해보았다. thebl..

반응형