伪静态和URL重写以及锚部分简记

伪静态和URL重写以及锚部分简记


草草的记叙了一下,了解的不是很深刻。

        现在出现了越来越多的网站,有些我们根据文件后缀就能知道它的脚本类型,有些却是假的或者根本没有后缀。今天在查一些资料的时候瞥到了URL重写,就顺便了解下并做个记录。因为了解的目的不同,所以我不会去管如何具体的实现。

0x01 伪静态

也就是服务器端会把这样的链接:

h9dawn.com/index.php?id=1

转为:

h9dawn.com/index/1.html 

或者

h9dawn.com/index/id/1  

等等之类的url显示在我们客户端。

甚至可以把多层目录转换为一层目录。
比如访问

h9dawn.com/a.html 

可以转换为访问服务器上 a/b/c/目录下的d.asp。

目的:方便收录、更简洁的url、安全性。


0x02 URL重写

        URL重写也是伪静态的一种,通过一些配置文件完成,它也可以做到和上面伪静态一样的功能,重定向也是它们的一种。

遇到这样的站怎么去判断脚本类型然后攻击呢?

        首先是观察它的组件,一些常见的就不说了,写这篇文章的时候我是遇到了一个站用了shiro,然后判断出它是jsp的站点;

        你也可以尝试把我们看到的url转换为真实的url,比如把index.html替换为index.php、index.asp这样子尝试。

        然后对于类似/index/id/1这样子的url,你甚至不需要去换成真实的url,你可以直接在1的位置测试是否有注入。

0x03 #(hash)锚点

        我们经常看到有些网页的url,在#后面还有一些内容,比如这样子:/index.html#/login。我就会想,#后面的部分不是不会传给服务器吗?那它有什么用?是交给js处理的部分吗?

        #叫做hash也叫做锚,代表网页中的一个位置。后面的字符,就是该位置的标识符。#是用来指导浏览器动作的,与服务器端无关。

比如
h9dawn.com/index.php#dawn

假如index.php页面下有<a name="dawn">或者<div id="dawn" >这种,浏览器读取这个URL后,会自动滚动显示dawn位置的页面。

这里有几种情况:
        当我访问    h9dawn.com/index.html#xxx    时,burp抓包可能会显示/index.html;
        然后当我在#后面随意添加不存在的内容的时候,或者刷新当前页面的时候,发现burp中是没有数据包通过的。
        然后有时候也会抓到一些请求数据的包,我认为是先通过锚点定位到了那个页面,然后页面上需要一些动态请求的参数。

草草的记叙了一下,了解的不是很深刻。

发布了18 篇原创文章 · 获赞 9 · 访问量 2639

猜你喜欢

转载自blog.csdn.net/qq_43622442/article/details/105593796
今日推荐