gpt4 book ai didi

perl - 在 HTTP 请求中禁用 URL 编码

转载 作者:可可西里 更新时间:2023-11-01 16:27:19 25 4
gpt4 key购买 nike

我正在编写一个小型 perl 工具,它应该可以帮助我在盲目 SQL 注入(inject)攻击期间加快某些进程(这是一个道德工具。这是我的工作)。

我的脚本管理已经使用十六进制值 (%xx) 进行 url 编码的 HTTP 请求。因此,当我使用 HTTP::Request 将请求发送到 Web 浏览器时,我的请求被编码了两次。

我使用这种代码:

my $ua = LWP::UserAgent->new;
my $httpreq = new HTTP::Request GET => 'http://192.168.0.1/lab/sqli.php?id=1%20and%20(select%20ascii(substring(user,3,1))%20from%20mysql.user%20limit%201)>100%23';
my $res = $ua->request($httpreq)

如何在我的请求中禁用 perl URL 编码?

最佳答案

HTTP::Request 不会修改提供的 URL。

任何 URL 编码都必须在 URL 被组装之前完成——它实际上是 URL 组件被编码——所以 HTTP::Request 期望编码已经完成。

>perl -MHTTP::Request -e"print HTTP::Request->new(GET => 'http://192.168.0.1/lab/sqli.php?id=1%20and%20(select%20ascii(substring(user,3,1))%20from%20mysql.user%20limit%201)>100%23')->as_string;"
GET http://192.168.0.1/lab/sqli.php?id=1%20and%20(select%20ascii(substring(user,3,1))%20from%20mysql.user%20limit%201)%3E100%23

关于perl - 在 HTTP 请求中禁用 URL 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6018741/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com