如何从我不拥有的网站中找到隐藏或省略的php参数?

时间:2015-03-08 01:51:25

标签: php api url hidden optional-parameters

给出一个任意的php网站:

www.foo.com/search.php?lookfor=needle%20in%20haystack&pg=1

我想弄明白所有可能的php参数

在上面的示例中,我可以看到两个参数:lookforpg 如何找出支持哪些其他参数?

我目前的策略是google www.foo.com/search.php?并查看是否包含其他参数,但我还没有看到,例如:

www.foo.com/search.php?lookfor=haystack%20in%20needle&secretoption=true

显示另一个名为secretoption

的参数

这可能非常令人沮丧,但并不总是奏效。有没有更好的方法来找出api结构?例如,是否可以构建一个可以从php服务器请求所有这些选项的URL?我不是一个PHP专家。

3 个答案:

答案 0 :(得分:1)

这是不可能的。与其他许多东西一样,PHP在服务器上执行,其代码的任何内容都不会发送到客户端/浏览器。除非网站所有者明确地向您提供有关他们接受的信息(例如API),否则无法知道这一点。

实际访问此类信息的任何方式都意味着服务器容易受到巨大的安全问题(因为它会发送应该仅在服务器上执行的数据),或者是非法的,因为它涉及攻击直接服务器或其基础设施。

获取此信息的唯一真实方式是要求所有者透露信息。如果你能提供一个最终有益的充分理由,他们可能会同意。

答案 1 :(得分:0)

我最终使用了Firefox的Tamper Data插件,它显示了发布和发送的所有标题数据: https://addons.mozilla.org/en-us/firefox/addon/tamper-data/

事实证明,对于一致编程的网站,php参数名称通常对应于POST请求中的键和Cookie中的键。例如,一个POST键" page"对应于易于猜测的php参数" pg",我无法使用我的旧谷歌方法找到它。 Cookie密钥"模式"对应于php参数" mode"。谷歌没有找到这两个参数。您可以看到参数在更改网站外观时有效。

这仍然是一个有根据的猜测工作,但它可以与我的旧谷歌技术结合成更可靠的东西。每个单词只有几个快捷方式。此外,谷歌发现的参数可以与使用篡改数据看到的密钥进行比较,以帮助查看新出现的命名模式。

它还保持网站友好,因为它不需要全面的扫描。您也不需要等待数周才能获得每封电子邮件的任何回复(而且大多数情况下,您希望自己会这样做是不现实的)

答案 2 :(得分:0)

加入晚了,但可以通过暴力破解来推断其中的一些。我同意没有像 API 这样的东西可以为您提供所有可能参数的列表(好吧,除非有文档化的 API...)。

如果您仍然想尝试对它们进行暴力破解,那么肯定有一些 CTF 工具可以提供帮助。

请记住,一般来说,未经明确授权使用这些工具是不合法的。

https://www.sevenlayers.com/index.php/362-parameth-parameter-brute-force