Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 如何在文件中发送HTTP请求?_Security_Http_Http Get_Netcat - Fatal编程技术网

Security 如何在文件中发送HTTP请求?

Security 如何在文件中发送HTTP请求?,security,http,http-get,netcat,Security,Http,Http Get,Netcat,我正在学习计算机安全,对命令有疑问。我有一个易受攻击的web服务器,通过使用telnet命令,然后发送一个带有超长URL的http get,可以利用其中的缓冲区溢出进行攻击。URL将使缓冲区溢出。我知道这是肯定的。但是现在,我想用netcat来自动化这个过程。到目前为止,我已经 netcat localhost 8080 < payload1 GDB说它是if语句中的一个分段错误 我知道这可能没有多大意义,因为服务器的其余代码不在那里。但是,netcat语句发送的文件是: get /aa

我正在学习计算机安全,对命令有疑问。我有一个易受攻击的web服务器,通过使用telnet命令,然后发送一个带有超长URL的http get,可以利用其中的缓冲区溢出进行攻击。URL将使缓冲区溢出。我知道这是肯定的。但是现在,我想用netcat来自动化这个过程。到目前为止,我已经

netcat localhost 8080 < payload1
GDB说它是if语句中的一个分段错误

我知道这可能没有多大意义,因为服务器的其余代码不在那里。但是,netcat语句发送的文件是:

get /aaaaaaaaaaaaAAAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAddddddddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa http/1.1

如果我使用telnet传输,服务器会崩溃,因此我知道netcat有问题。有一份声明说,payload1需要采用DOS格式,并带有CRLF结尾行。为了检查这一点,我将文件传输到windows计算机上,它显示正确,但是我想知道是否有其他方法可以检查这一点?

您看到什么错误使您认为服务器无法读取该文件?使用您使用的命令行,“服务器”不读取文件,您的操作系统外壳将打开该文件并将其用作netcat进程的标准输入

所以我想请你:

  • 检查payload1的路径。您可能需要使用类似于
    nc localhost 8080
  • 检查服务器是否正在侦听TCP端口8080
  • 如果这些都不起作用,请显示一些错误消息/您看到的问题的症状
  • 更新(基于问题编辑):


    这里的客户机是netcat。根据您的编辑,服务器似乎正在崩溃。因此,请求将传递到服务器。您可能刚刚发现了服务器软件的另一个bug(除了原来的缓冲区溢出)。当您尝试使用telnet时,是否发送了标识URI?

    是的,该命令与我使用telnet时使用的get命令完全相同。这就是为什么它如此奇怪。
    get /aaaaaaaaaaaaAAAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAddddddddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa http/1.1