team-durumi / kyeol-composer

일본군'위안부'문제연구소 웹진 결 / 영문개발
1 stars 0 forks source link

[node]참고문헌 링크 입력 / 노출 오류 #60

Closed woonjjang closed 2 years ago

woonjjang commented 2 years ago

https://kyeol.kr/ko/node/212

참고문헌에 제목 / 링크를 넣을 때 ? 뒤에 링크 노출 안 되도록 잡아놓은 것 같아요. (아마도 취약점 개선할 때 ?) 두 개 원본링크가 입력되지 않는다는 오류입니다.

https://news.kbs.co.kr/news/view.do?ncd=3612298 https://www.kyobobook.co.kr/product/detailViewKor.laf?mallGb=KOR&barcode=9791163140092

mozodev commented 2 years ago

참고문헌에 제목 / 링크를 넣을 때 ? 뒤에 링크 노출 안 되도록 잡아놓은 것 같아요. (아마도 취약점 개선할 때 ?)

재밌는 상상력을 기반으로 한 가설이었지만 확인해보니 입력한 링크는 제대로 디비에 저장이 되고 출력 시 원래부터 기대했던 동작과 상관없이 출력되고 있었습니다.

https://github.com/team-durumi/kyeol-composer/blame/main/web/sites/all/themes/custom/webzine/templates/node--article.tpl.php#L239

전혀 관련없는 건 아니지만 #47 (이건 웹접근성이 아니고 보안취약점 ㅎ) 이슈 관련해서 해당부분 수정이 있었지만 제목에 script 등 브라우저가 파싱해서 뭔가 액션할 수 있는 문자열을 이스케이프하는 거고 링크 주소는 코드 인계받은 때부터 누구도 수정한 적이 없네요. 제가 안했으면 당연히 없는 거겠... ㅎ

article.field_url => drupal/link

Array
(
    [url] => https://news.kbs.co.kr/news/view.do
    [query] => Array
        (
            [ncd] => 3612298
        )
    [fragment] => 
    [absolute] => 1
    [html] => 1
    [title] => ‘소녀상 보셨습니까?’ 그 이후…디지털로 만나는 소녀상 101곳 지도(KBS, 2018.03.01)
    [attributes] => Array
        (
            [target] => _blank
        )
    [original_title] => ‘소녀상 보셨습니까?’ 그 이후…디지털로 만나는 소녀상 101곳 지도(KBS, 2018.03.01)
    [original_url] => https://news.kbs.co.kr/news/view.do?ncd=3612298
    [_link_sanitized] => 1
    [display_url] => https://news.kbs.co.kr/news/view.do?ncd=3612298
)

link 모듈이 제공하는 필드의 자료 구조는 위와 같은데 $link['url'] 을 출력하고 있어서 그런 거죠. 지금까지 놀랍게도 아무런 매개변수가 없는 링크를 추가했거나, 편집자가 입력해놓고 놀랍게도 지금까지 확인을 한번도 안 했을 수도 있겠다는 재밌는 가설이...