# Regular Website:webex:200ptsThey said you couldn't [parse HTML with regex](https://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454). So that's exactly what I did!  [package.json](package.json)  [server.ts](server.ts)  [http://webp.bcactf.com:49155/](http://webp.bcactf.com:49155/)   Hint 1 of 1  How is the site sanitizing your input?  
# Solutionサイトにアクセスするとサイトが周期的にぼやける仕組みだった。  Just a Regular Website  [site1.png](site/site1.png)  [site2.png](site/site2.png)  コメントを投稿でき、adminがそれを見るようだ。  配布されたソースを読んでみるとserver.tsの以下が気になった。  ```ts~~~    const sanitized = text.replace(/<[\s\S]*>/g, "XSS DETECTED!!!!!!");    const page = await (await browser).newPage();    await page.setJavaScriptEnabled(true);    try {        await page.setContent(`         <html>            <head>                <meta charset="utf-8">                <title>Comment</title>            </head>            <body> Welcome to the Regular Website admin panel.                <h2>Site Stats</h2> Comments: ??? Flag: ${flag}                <h2>Latest Comment</h2>                ${sanitized}            </body>        </html>        `, {timeout: 3000, waitUntil: "networkidle2"});    } catch (e) {~~~```XSSを正規表現でサニタイズしているが、`Welcome to the Regular Website admin panel.                <h2>Site Stats</h2> Comments: ??? Flag: bcactf{h3_c0mes_Ur74hshR}                <h2>Latest Comment</h2>   ```flagが得られた。  
Welcome to the Regular Website admin panel.
Comments: ???
Flag: ${flag}

Comments: ???
Flag: bcactf{h3_c0mes_Ur74hshR}
## bcactf{h3_c0mes_Ur74hshR}