user_agent에 관한 내용입니다.


user_agent로는 접속이 허용안되고, secure_user_agent로 해야한다고합니다.



이리저리 하던 중 Chrome에서 User-Agent Switcher 라는 기능을하는 도구가 있었습니다.


해당 도구를 다운로드 후 값을 변경해주면 될것같습니다.


이 도구는 Chrome 브라우져를 다른 기기처럼 사용할 수 있습니다.



아래와 같이 설치를 하시면 URL창 우측에 해당 아이콘이 나타나고 Chrome을 통해 다른 브라우져로 접속한 효과를 낼 수 있습니다.


Andoroid와 iOS도 가능하여 핸드폰으로 접속한 것과 같은 효과도 낼 수 있어 유용한 기능입니다.



그중에 사용할 기능은 Setting에 들어가시면 다음과같이 User-agent 이름, 값, 그룹 등을 설정 할 수 있습니다.


여기서 그룹은 브라우져 명입니다.



처음에는 user_agent이름 자체를 secure_user_agent로 바꿔야하는 줄알고 2번째와 같이 설정했지만 실패했습니다.


그러다 값을 수정해야 된다고 생각하여 다음과 같이 값을 secure_user_agent로 설정 후 접속해보니 성공하였습니다.




사실 proxy를 사용하는 방법도 있습는데 프록시 설정하고 BrupSuite를 사용하면 경고창이 나와서 ... 이렇게 했습니다.


'WarGame > hackthis.co.uk' 카테고리의 다른 글

[HackThis] Intermediate level1  (0) 2018.08.29
[HackThis] Main level8  (0) 2018.08.29
[HackThis] Main level7  (0) 2018.08.29
[HackThis] Coding level2  (0) 2018.08.28
[HackThis] Coding level1  (0) 2018.08.28

Hint를 보니 Password는 txt파일로 다시 저장된다고 나와있고 소스보기로 힘들꺼라고 합니다.


또한 검색 봇이 배제되어있어 페이지를 찾을 수 없다고합니다.


어떻게 해야할까 막막하기도하여 Forum을 봤습니다.ㅜ


Forum의 내용중의 robots.txt에 대한 얘기가 나와 검색해봤습니다.



나무위키에 따르면


robots.txt는 웹사이트에 웹 크롤러 같은 로봇들의 접근을 제어하기 위한 규악이라고 합니다.


또한 robots.txt.를 사용하기 위해서는 반드시 웹사이트의 최상위 경로에 있어야 한다고 합니다.


www.hackthis.co.uk의 경우 '/'만 붙인 곳이 최상위 경로니 그뒤에 /robots.txt를 더해 있는지 확인해봅니다.



위와 같이 robots.txt가 존재했으며 다양한 페이지들이 크롤러의 의해 검색되는 것을 방지합니다.


  User-agent: 해당 agent에 대한 규약

  Allow: 허용

  Disallow: 허용x


그중에 userpass.txt 가 가장 의심스러워 해당 페이지로 접속해봅니다.


아래와 같이 username, password가 나와 인증하면 성공하게 됩니다.



[참고]

나무위키: https://namu.wiki/w/robots.txt

HackThis Forum: https://www.hackthis.co.uk/forum/level-discussion/main-levels/main-level-7/35036-warm-but-not-hot

robots.txt 현명하게 사용하는 방법: https://korea.googleblog.com/2008/04/robotstxt.html

'WarGame > hackthis.co.uk' 카테고리의 다른 글

[HackThis] Main level8  (0) 2018.08.29
[HackThis] Basic+ level2  (0) 2018.08.29
[HackThis] Coding level2  (0) 2018.08.28
[HackThis] Coding level1  (0) 2018.08.28
[HackThis] Crypt level5  (0) 2018.08.26

coding level1과 비슷하게 알수없는 숫자들과 답을 적는란이 있습니다.


동일하게 5초의 시간이 주어지고 있으니 똑같이 level1의 코드와 비슷할 것으로 보입니다.



우선 어떤 알고리즘을 통해 저 문자열이 되었는지 알아내기 위해 알려준 곳으로 이동해봅니다.



① 33이 1이되고 34가 2가 되는 걸 보니 Ascii 값의서 -32를 합니다.

② 새로 생긴 Ascii 값을 가지고, 눈으로 보이는 모든  Ascii 값 중 눈에 보이는 갯수만큼에서 빼라고합니다.

③ 띄어쓰기는 아무것도 표시하지 않고 비워줍니다.


이 것으로 봤을때 알고리즘은 다음과 같습니다.


  old (암호화 전)

  new = old -32 

  total_Ascii - new = payload



  old: 암호화 하기전 값

  new: 새로운 Ascii값

  total_Ascii: 눈에 보이는 모든 Ascii 값들

  payload: 암호문으로 나와있는 값

  

여기서 total_Ascii값은 Ascii 코드 128개중 눈으로 볼수 있는 알파벳 대/소문자, 특수문자, 숫자가 됩니다. (총 94개)


결국 우리가 구하려는 old = 126 - payload 이 됩니다.


이 정보를 가지고 코딩을 하면 다음과 같습니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
payload = '43,61,37,43, ,54,57,44, ,53,48,42,47, ,47,56,42,57,48, '
payload += ',61,50,43,47, ,39,54,47,49, ,59,61,48,48,47,42, ,42,39,61,43, '
payload += ',60,57,57,48, ,57,50,43,57, ,39,53,42,54, ,47,56,56'
payload = payload.split(',')
 
result = ''
for i in range(len(payload)):
    if payload[i] != ' ':
        result += chr(126-int(payload[i]))
    else:
        result += ' '
 
print(result)
cs


실행하면 다음과 같은 읽을 수 있는 문자열이 됩니다.


SAYS HER INTO OFTEN ALSO WHOM CANNOT TWAS BEEN ELSE WITH OFF


이제 level1과 같이 requests를 이용해서 코드를 짜보면 다음과 같습니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import requests
from bs4 import BeautifulSoup
 
url = 'https://www.hackthis.co.uk/levels/coding/2'
 
LOGIN_INFO = {
    'username''YourID',
    'password''YourPWD'
}
 
with requests.Session() as s:
    login_req = s.post('https://www.hackthis.co.uk/?login', data=LOGIN_INFO)
 
    req = s.post(url)
    html = req.text
    soup = BeautifulSoup(html, 'html.parser')
    textarea = soup.find('textarea')
    
    payload = textarea.string.split(',')
    data = ''
    for i in range(len(payload)):
        if payload[i] != ' ':
            data += chr(126-int(payload[i])) #94+32
        else:
            data += ' '
            
    data = {'answer':data}
    s.post(url, data=data)
cs


이대로 실행해보면 ... 왠지 모르지만 성공을 하지 않습니다... 


그렇게 몇번 실행해보고 생각해보니 혹시 대문자여서 안되나 싶어서 +32를 더 시켜 소문자로 만들어서 실행해보니


성공하게 되었습니다... 흠..


(해석을 못해서..?)





'WarGame > hackthis.co.uk' 카테고리의 다른 글

[HackThis] Basic+ level2  (0) 2018.08.29
[HackThis] Main level7  (0) 2018.08.29
[HackThis] Coding level1  (0) 2018.08.28
[HackThis] Crypt level5  (0) 2018.08.26
[HackThis] Crypt level4  (0) 2018.08.26

+ Recent posts