Profile

머리정리하는곳

c2w2m2

Pyjail

파이제일 할때 여러가지 알아두면 쓸모있는거 정리하려한다.


1. vars

   

   이번 trustealth ctf pyjail3 낼때 알게 된건데, 개사기,,, __dict__ 가 있는 오브젝트나 함수를 인자로 넘겨주면, 어트리뷰트들을 다 dict 형으로 가져오게 한다.

   즉 . 이나 _ 나 getattr 류가 막혔을때 어트리뷰트를 쓸수 있게 되는것이다. 물론 일부지만, __builtins__ 를 인자로 넘겨주면 built-in 함수를 전부 쓸 수 있다.


2. dir

 

   dir도 보통 dir(__builtins__) 해서 뭐있는지 보거나, string 우회로 많이 썼는데, 이게 locals() 대용이 되기도 한다. dir 을 막는 경우는 적으니까 상황에 따라 유용하게 쓸 수 있다.


3. "A""B"


   이렇게 하면 string 이 합쳐진다. +같은게 막히면 유용하게 쓰자.


4. attr함수들


   . 이 막히면 getattr, = 이막히면 setattr 등등 유용하게 쓸수 있는게 많다.


5. ban_list


   만약 밴리스트를 담고있는 변수명을 알고 = 이나 del 이 풀려있다 하면 밴리스트를 지우면 된다.

   막혀있다 해도, 밴리스트는 말 그대로 밴리스트를 담고있다. 그래서 안에 막힌 문자열 들이 리스트 꼴로 존재하는게 일반적일것이다.  

   그럼 막힌 문자열이 필요할때 유용하게 쓸 수 있다.


6. ctypes


   import 열였는데 막상 쓸게 없으면 이거 써보자 개꿀이다 



6. raise


   raise(BaseException()) 이걸로 파일 경로 알아올수 있다.


'Pwnable' 카테고리의 다른 글

[N1CTF2018] Vote  (0) 2018.03.12
BCTF2016 bcloud  (0) 2018.03.09
[Harekaze 2018] Flea_attack  (0) 2018.02.11
[Codegate 2016] serial  (0) 2018.01.30
[AceBear2018] easy heap  (0) 2018.01.29