c#

  • c++의 연산력 + Visual Basic의 편의성
  • 객체지향 프로그래밍언어
  • 넷 프레임워크에 최적화    


namespace란?

관련 구조체, 클래스, 델리게이트, 인터페이스 등을 그룹화 한 것


class : C# 프로그램을 구성하는 기본 단위

 - field : 정적인 상태

 - method : 동적인 기능


android:orientation="vertical" 줄바꿈


# LinearLayout은 한가지 방향으로만 출력할 수 있다. 방향을 바꾸고 싶다면, 중첩하여 사용하면 된다.


android:text="Color Test" 텍스트 내용
android:textSize="30sp" 텍스트 크기

# dp, in, mm, pt, px, sp의 단위가 있다.


android:textColor="#5c355c" 텍스트 색상

# html 색상 코드를 사용한다.


android:textStyle="bold|italic"/> 텍스트 스타일


  • bold (굵게)
  • italic (기울이기)
  • normal (기본)



코드를 보니 RET 제외한 스택을 전부 0으로 초기화 시킨다.

아무리 봐도 모르겠어서 예전에도 한번 여기서 막혀서  일단 다른사람이 어떻게 풀었는지 참조하면서 공부했다.

찾아보니 LD_PRELOAD 라는 것을 사용해서 푸는 것이라고 한다.

LD_PRELOAD는 dynamic linker 가 해당 경로의 so 파일을 공유 라이브러리로 무조건 선적재함.

라고 정의 되어있지만, 간단히 말해 프로그램이 시작될때 참조하는 것이라고 기억해두었다.

다음과 같은 코드를 짠 후

* stdio.h를 포함하지 말아야한다.

컴파일 옵션을 저렇게 주고, LD_PRELOAD를 등록 시킨 후

실행 시키면 놀랍게도 이렇게 쉘이 따인다.

그대로 golem에 적용시켜보려고 했더니 이렇게 먹히질 않는다.

아마도 실행되는 권한이 바뀌면서 LD_PRELOAD가 먹히지 않는 것이라고 생각하였다

혹시나 하고 다른 여러가지 실험을 해보았다.

먼저 /bin/my-pass의 권한에 setuid 비트가 걸려있는지 확인을 해보았다.

걸려있지 않았다 my-pass는 geteuid를 호출할때 setuid비트가 걸린 계정의 암호를 보여주기 때문에 setuid비트를 걸지 못한다.

이렇게 훨씬 상위의 비밀번호도 알아낼수 있었다.

일단 이렇게 아무동작도 안하는 프로그램을 하나 생성해서 이름을 쉘코드로 만들어 컴파일 해준다.

'IT > LOB' 카테고리의 다른 글

[LOB] vampire  (0) 2016.07.23
[LOB] troll  (0) 2016.07.17
[LOB] orge  (0) 2016.07.17
[LOB] darkelf  (0) 2016.07.17
[LOB] wolfman  (0) 2016.07.17

+ Recent posts