小编use*_*897的帖子

理解JavaScript函数范围

以下代码是JavaScript代码.我试图了解JavaScript中的函数范围并在此处阅读文章.我正在复制下面的代码 -

var cow = "purple"; // just a random cow

var f = function (x) {
    var r = 0;
    cow = "glue";
    if (x > 3) {
        var cow = 1; // a local variable
        r = 7;
    }
    return r;
};

var z = f(2);
alert(cow); // returns purple
Run Code Online (Sandbox Code Playgroud)

我不太明白为什么字符串"紫色"会被警告.该行cow = "glue";应将cow变量的值设置为"glue".如果我删除if块,然后在最后一个语句中警告cow,我看到字符串"glue"被警告.

当调用f(2)时,不输入if代码块并且其中没有任何内容被执行,那么为什么我会看到不同的结果呢?即为什么在最后一个语句中警告牛现在返回字符串"紫色"?

javascript scope

10
推荐指数
3
解决办法
199
查看次数

使用Python中的请求库测量HTTP响应时间.我做得对吗?

我试图从Web应用程序中引发HTTP响应的人为延迟(这是一种用于执行盲SQL注入的技术).如果从浏览器发送以下HTTP请求,则Web服务器的响应在3秒后返回(由sleep(3)引起):

http://192.168.2.15/sqli-labs/Less-9/?id=1'+and+if+(ascii(substr(database(),+1,+1))=115,sleep(3),null)+--+
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用请求库在Python 2.7中执行相同的操作.我的代码是:

import requests

payload = {"id": "1' and if (ascii(substr(database(), 1, 1))=115,sleep(3),null) --+"}
r = requests.get('http://192.168.2.15/sqli-labs/Less-9', params=payload)
roundtrip = r.elapsed.total_seconds()
print roundtrip
Run Code Online (Sandbox Code Playgroud)

我预计往返时间为3秒,但我得到的值为0.001371,0.001616,0.002228等.我没有正确使用经过的属性吗?

elapsed httpresponse roundtrip python-2.7 python-requests

8
推荐指数
1
解决办法
2万
查看次数

编写页面故意易受命令注入攻击

我正在尝试编写一个故意容易受命令注入攻击的页面.这适用于培训环境.这是我到目前为止的代码:

public ActionResult CommandInjection()
    {
        string domain = Request.QueryString["domain"];
        ViewBag.Domain = domain;

        ProcessStartInfo psi = new ProcessStartInfo("nslookup.exe", domain)
        {
            UseShellExecute = false,
            CreateNoWindow = true,
            RedirectStandardOutput = true
        };

        var proc = Process.Start(psi);
        string result = proc.StandardOutput.ReadToEnd();

        ViewBag.Msg = "This page is vulnerable to Command Injection";
        ViewBag.Result = result;

        return View();
    }
Run Code Online (Sandbox Code Playgroud)

当它看到正常的域查找请求时似乎运行良好.

但是,当它看到这样的请求时:

http://localhost:50159/Home/CommandInjection?domain=www.google.com+%26+dir 它返回一个空白.

我期待的是它会返回域查找结果,然后是dir命令输出.

c# asp.net-mvc code-injection

6
推荐指数
1
解决办法
101
查看次数

让 Marp 将某些内容水平和垂直居中

我正在使用 Marp,它是一个在 Markdown 中创建演示文稿并将其转换为 pdf 的工具。在第一张幻灯片上,我有一些内容,例如:

# <center> Working with Virtual Box </center>
<img align="right" src="images/logo.png" width="250">
Run Code Online (Sandbox Code Playgroud)

所有这些都是顶部中心对齐的。我想要的是文本居中对齐(垂直和水平),图像右下对齐。我在 Marp 文档中找不到太多相关信息。我希望有更好 css 的人知道如何提供帮助!相信我,我为此搜索了两个多小时,但我缺乏 CSS 技能,这让我一事无成。

html css markdown marp

5
推荐指数
2
解决办法
1万
查看次数

使用PHP发送的邮件花费了太多时间

我用PHP编写了一个类,用于发送使用Gmail帐户的邮件.该类又使用PHPMailer库.该设置是Windows Vista上的WAMP 2.4.使用microtime()PHP中的函数,我发现发送一封邮件需要5到6秒.在这种设置上运行的PHP脚本是否正常,我需要花费5-6秒才能发送一封邮件.这是该类的代码.

<?php

require_once("phpmailer/class.phpmailer.php");
require_once("phpmailer/class.smtp.php");

class Mailer {

    // Needs to be set per object
    public $subject;
    public $message;
    public $to_name;
    public $to;

    private $mail; // This is the main mail object that'll be initialized 

    public function __construct() {

        // Need to create a PHPMailer object in the constuctor and return it for use in this class. 

        $mail = new PHPMailer();

        $from_name = "bleh";
        $from = "bleh@gmail.com";
        $username = "bleh";
        $password = "bleh";

        $mail->FromName = $from_name;
        $mail->From …
Run Code Online (Sandbox Code Playgroud)

php performance phpmailer

4
推荐指数
1
解决办法
5018
查看次数

用Python代码编写的SHA 512 crypt输出与mkpasswd不同

运行mkpasswd -m sha-512 -S salt1234 password结果如下:

$6$salt1234$Zr07alHmuONZlfKILiGKKULQZaBG6Qmf5smHCNH35KnciTapZ7dItwaCv5SKZ1xH9ydG59SCgkdtsTqVWGhk81
Run Code Online (Sandbox Code Playgroud)

我有这段Python代码,我认为会输出相同的,但不是:

import hashlib, base64
print(base64.b64encode(hashlib.sha512('password' + 'salt1234').digest()))
Run Code Online (Sandbox Code Playgroud)

它反而导致:

nOkBUt6l7zlKAfjtk1EfB0TmckXfDiA4FPLcpywOLORZ1PWQK4+PZVEiT4+9rFjqR3xnaruZBiRjDGcDpxxTig==
Run Code Online (Sandbox Code Playgroud)

不确定我做错了什么.

我的另一个问题是,如何告诉sha512函数进行自定义轮次.似乎只需要一个论点.

python hash sha512 hashlib python-2.7

4
推荐指数
2
解决办法
8172
查看次数

为什么此C代码段不会导致分段错误?

int main(int argc, char **argv) {
    unsigned int ptr1 = *((unsigned int *)(argv[1]));
    printf("ptr1 = 0x%x\n", ptr1);
    exit(0);
}
Run Code Online (Sandbox Code Playgroud)

这是视频教程中的代码段.我不确定我是否理解为什么代码在运行时不会导致分段错误.

(unsigned int *)(argv[1])这看起来像传递给程序的第一个参数被转换为unsigned int.因此,如果参数是'AAAA',那么'0x41414141'现在是指向内存中某个位置的指针.

然后,当我们这样做时,我们*((unsigned int *)(argv[1]))不是要引用地址指向的值0x41414141吗?据我所知,该过程可能无法访问此地址.那怎么没有发生分段错误呢?该计划的输出是 -

ptr1 = 0x41414141

我在Linux上用gcc编译了这个程序.

c pointers casting dereference

3
推荐指数
2
解决办法
127
查看次数

Intel x86手册中是否确实存在像直接/间接寻址模式这样的术语?

为了提供一些背景知识,我想研究x86指令是如何手动编码/解码的。我遇到了ModR/Mand SIB字节,似乎了解x86寻址模式对于理解指令编码方案至关重要。

因此,我在Google搜索了x86寻址模式。搜索返回的大多数博客/视频都是8086处理器的寻址模式。通过其中的一些,不同的寻址模式是寄存器,直接,间接,索引,基于等。但是,在引用这些寻址方式时,博客使用的名称不一致。多个不同的源使用多种不同的寻址模式。此处的英特尔手册中甚至没有提到这些不同的术语。例如,我似乎无法在Intel手册中找到任何称为“直接”或“间接”的寻址模式。另外,Mod在比特ModRM字节是一个2比特字段,这使我不知道是否超过4种的寻址方式是可能的。

我的问题是,诸如直接寻址模式之类的术语是间接寻址模式的旧术语,这些术语不再在英特尔手册中使用,而是由公众使用。如果存在技术上确实存在的术语,则可以在手册中找到它们的引用。

x86 assembly addressing-mode

2
推荐指数
1
解决办法
738
查看次数