perl - 如何使用 Perl 检测 XSS Reflect

标签 perl request xss

我创建了这个简单的脚本来请求带有 JavaScript 负载的 URL。

#!/usr/bin/perl
use LWP::UserAgent;
use HTTP::Request;
use LWP::Simple;

my $req=HTTP::Request->new(GET=>"http://example.com.br/search.asp?CI=%27%3E%3Cscript%3Ealert('XSS')%3C/script%3E");
my $ua=LWP::UserAgent->new();
$ua->timeout(15);
my $res=$ua->request($req);
print $res->content;

如何判断本例是否存在XSS漏洞?

最佳答案

快速回答它如何可以为您的特定示例工作:

#!/usr/bin/perl
use strict;

my $url = "http://example.com.br/search.asp?CI=%27%3E%3Cscript%3Ealert('XSS')%3C/script%3E";

#### decode url-encoding
my $decoded_url = $url=~s/%([A-F\d]{2})/chr(hex($1))/iegr;

if ( $decoded_url=~/<script>.*<\/script>/ ) {
    print "XSS detected: $& \n";   
}

你会得到:

$ ./xssdetect.pl
XSS detected: <script>alert('XSS')</script>

警告:仅此一项并不能对实际使用进行 XSS 保护。 XSS 是一个复杂的话题,有很多违规行为和特殊规则。我建议阅读 XSS,例如 OWASP .

关于perl - 如何使用 Perl 检测 XSS Reflect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73780731/

相关文章:

perl - 当 Moose 中的底层属性发生变化时重建延迟构建的属性

perl - LibXML - 插入注释

python - 如何使用Python请求转到主机的特定路径?

node.js - 是否可以在 node.js 请求中设置无限超时?

python - 使用户制作的 HTML 模板安全

perl - 如何在 Perl 中获取目录(文件路径)分隔符?

linux - Perl:关闭信号处理程序中的子进程管道挂起?

python - 无法连接到 python 中 requests.get() 或 requests.post() 上的代理错误

security - 是否可以对查询字符串进行 XSS 攻击?

javascript - Ajax.请求外部站点: XSS or not?