我在自己的网站上尝试使用Html注入。但是,我无法彻底改变我的页面(我的意思是在我之前的输入显示在当前页面的部分之后我无法更改它。我明白我以前无法更改任何内容这个)。我能够添加自己的字段,除了我原来的html内容之外还有。
我试图把< / body> < / HTML>在我的html注入代码的末尾但是这并没有阻止页面在我的“假”< / html>之后显示html元素标签。当然,我在普通的html页面上检查了这个,并且在< / html>之后也有。显示。我能解决这个问题吗?就像有一个更强大的标签,迫使浏览器停止在标签后查看html文件?
(我是新手,请用简单的语言回答!谢谢。)
澄清一下,请考虑以下事项:
<--! Here $oldMessage holds the string that was searched in the previous page.
Like a search engine.
This page is of the search result -->
<p>Your search for
<?php echo "$oldMessage";> gave the following result: </p>
<p>
<!-- Some lines of HTML+php -->
</p>
<p>
Thank You for Visiting my website!
</p>
</body>
</html>
<!-- My search is: '</p>
<p>
<form>
Uid:
<input type="text" name="uid" >
<br>
Password:
<input type="text" name="pass"><br>
<input type="submit" value="submit">
</form>
</p>
</body>
</html>'
so when this gets echoed by $oldMessage, it tries to add userid
and password field by GET method and tries to end the html
but the problem is, rest of the original html is also displayed which
makes it fishy for unknown user that this is fake(I am just
trying this out of curiosity, not doing anything malicious
to anyone) -->
答案 0 :(得分:-1)
根据目标页面的其余HTML,您可以打开样式为“display:none”的div,并且不要关闭该标记。然后,无论后来发生什么都会嵌套在那个看不见的div中。
如果目标页面具有不匹配的结束div标签,您可以尝试打开许多所述标签以确保不显示任何内容。
否则,您可以注入JavaScript以隐藏最后一个标记之后的任何内容。
为了更直接地回答这个问题,结束体或html标记标记了文档的结尾,但浏览器的实际行为取决于每个供应商。浏览器经常试图猜测在格式错误时呈现HTML的最佳方式是什么。这称为标签汤:https://en.m.wikipedia.org/wiki/Tag_soup
答案 1 :(得分:-2)
好吧,因为html是一个分娩语言,代码开始从第一行开始逐行运行,所以你可能无法阻止那些位于注入代码之前的那些标记(你不能用html但是用javascrit或php注入它可能)但你可以通过推杆简单地停止代码下方的标签