草庐IT

Javascript\x 转义

coder 2025-04-02 原文

我见过一些其他的程序有这样的东西:

var string = '\x32\x20\x60\x78\x6e\x7a\x9c\x89';

而且我不得不尝试摆弄数字和字母,以找到我想要显示的文本。
我想知道是否有一个函数可以找到字符串的 \x 转义,比如 JS 中的 string.toUpperCase() 。我正在使用 processing JS,但我可以使用其他编程语言来查找 \x 的 ASCII。

最佳答案

如果你有一个你想转义的字符串,你可以使用String.prototype.charCodeAt()

如果您有带转义的代码,您可以只计算它们以获得原始字符串。如果它是带有文字转义的字符串,您可以使用 String.fromCharCode()

  • 如果你有 '\x32\x20\x60\x78\x6e\x7a\x9c\x89' 并且想要 "2 `xnz" 那么

      '\x32\x20\x60\x78\x6e\x7a\x9c\x89' == "2 `xnz"
    
  • 如果你有 '\\x32\\x20\\x60\\x78\\x6e\\x7a\\x9c\\x89' 这是一个文字字符串,其值为\x32\x20\x60\x78\x6e\x7a\x9c\x89 然后你可以通过将每对十六进制数字的十进制值传递给 String.prototype.fromCharCode() 来解析它

      '\\x32\\x20\\x60\\x78\\x6e\\x7a\\x9c\\x89'.replace(/\\x([0-9a-f]{2})/ig, function(_, pair) {
        return String.fromCharCode(parseInt(pair, 16));
      })
    

    或者,eval 是一个选项,如果您可以确定输入的安全性并且性能不重要的话 1 .

      eval('"\\x32\\x20\\x60\\x78\\x6e\\x7a\\x9c\\x89"')
    

    请注意 " 嵌套在输入字符串周围的 ' 中。

    如果您知道它是一个程序,并且它来自受信任的来源,您可以直接eval 字符串,这不会给您 ASCII,但会执行程序本身。

      eval('\\x32\\x20\\x60\\x78\\x6e\\x7a\\x9c\\x89')
    

    请注意,您提供的输入不是程序,eval 调用失败。

  • 如果你有 "2 `xnz" 并且想要 '\x32\x20\x60\x78\x6e\x7a\x9c\x89' 那么

      "2 `xnz".split('').map(function(e) {
        return '\\x' + e.charCodeAt(0).toString(16);
      }).join('')
    

关于Javascript\x 转义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34056509/

有关Javascript\x 转义的更多相关文章

  1. ruby - 匹配未转义的平衡定界符对 - 2

    如何匹配未被反斜杠转义的平衡定界符对(其本身未被反斜杠转义)(无需考虑嵌套)?例如对于反引号,我试过了,但是转义的反引号没有像转义那样工作。regex=/(?!$1:"how\\"#expected"how\\`are"上面的正则表达式不考虑由反斜杠转义并位于反引号前面的反斜杠,但我愿意考虑。StackOverflow如何做到这一点?这样做的目的并不复杂。我有文档文本,其中包括内联代码的反引号,就像StackOverflow一样,我想在HTML文件中显示它,内联代码用一些spanMaterial装饰。不会有嵌套,但转义反引号或转义反斜杠可能出现在任何地方。

  2. ruby - 字符串文字中的转义状态作为 `String#tr` 的参数 - 2

    对于作为String#tr参数的单引号字符串文字中反斜杠的转义状态,我觉得有些神秘。你能解释一下下面三个例子之间的对比吗?我特别不明白第二个。为了避免复杂化,我在这里使用了'd',在双引号中转义时不会改变含义("\d"="d")。'\\'.tr('\\','x')#=>"x"'\\'.tr('\\d','x')#=>"\\"'\\'.tr('\\\d','x')#=>"x" 最佳答案 在tr中转义tr的第一个参数非常类似于正则表达式中的括号字符分组。您可以在表达式的开头使用^来否定匹配(替换任何不匹配的内容)并使用例如a-f来匹配一

  3. ruby-on-rails - 使用 javascript 更改数据方法不会更改 ajax 调用用户的什么方法? - 2

    我遇到了一个非常奇怪的问题,我很难解决。在我看来,我有一个与data-remote="true"和data-method="delete"的链接。当我单击该链接时,我可以看到对我的Rails服务器的DELETE请求。返回的JS代码会更改此链接的属性,其中包括href和data-method。再次单击此链接后,我的服务器收到了对新href的请求,但使用的是旧的data-method,即使我已将其从DELETE到POST(它仍然发送一个DELETE请求)。但是,如果我刷新页面,HTML与"new"HTML相同(随返回的JS发生变化),但它实际上发送了正确的请求类型。这就是这个问题令我困惑的

  4. ruby - 在 Ruby 中将转义的 unicode (\u008E) 转换为重音字符 (Ž)? - 2

    我遇到了一个非常困难的时期:#containedwithin:"MA\u008EEIKIAI"#shouldbe"MAŽEIKIAI"#natureofstring$pstring3"MA\u008EEIKIAI"$putsstring3MAEIKIAI$string3.inspect"\"MA\\u008EEIKIAI\""$string3.bytes#关于从哪里开始的任何想法?注意:这不是我的previousquestion的副本. 最佳答案 \u008E表示代码点为8e(十六进制)的unicode字符出现在字符串中的那个位置。

  5. ruby - 如何转义 Ruby 字符串插值? - 2

    给定这段代码:has_many:foos,:finder_sql=#{id}部分被过早插入。我如何逃脱它? 最佳答案 在定界符两边加上单引号:has_many:foos,:finder_sql= 关于ruby-如何转义Ruby字符串插值?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2052724/

  6. ruby - 在 Mechanize 中使用 JavaScript 单击链接 - 2

    我有这个:AccountSummary我想单击该链接,但在使用link_to时出现错误。我试过:bot.click(page.link_with(:href=>/menu_home/))bot.click(page.link_with(:class=>'top_level_active'))bot.click(page.link_with(:href=>/AccountSummary/))我得到的错误是:NoMethodError:nil:NilClass的未定义方法“[]” 最佳答案 那是一个javascript链接。Mechan

  7. Ruby 转义 HTML 字符串 - 2

    知道如何在Ruby中对以下字符串进行转义吗?C:\inetpub\wwwroot\adminWeb到C:\inetpub\wwwroot\adminWeb或到C%3A%5Cinetpub%5Cwwwroot%5CadminWeb尝试使用URI.decode没有成功。 最佳答案 CGIlibrary是一种选择:require'cgi'CGI.unescapeHTML('C:\inetpub\wwwroot\adminWeb')#=>"C:\\inetpub

  8. javascript - jQuery 的 jquery-1.10.2.min.map 正在触发 404(未找到) - 2

    我看到有关未找到文件min.map的错误消息:GETjQuery'sjquery-1.10.2.min.mapistriggeringa404(NotFound)截图这是从哪里来的? 最佳答案 如果ChromeDevTools报告.map文件的404(可能是jquery-1.10.2.min.map、jquery.min.map或jquery-2.0.3.min.map,但任何事情都可能发生)首先要知道的是,这仅在使用DevTools时才会请求。您的用户不会遇到此404。现在您可以修复此问题或禁用sourcemap功能。修复:获取文

  9. ruby-on-rails - Rails 4.1.2 - to_param 转义斜杠(并破坏应用程序) - 2

    我在我的应用程序中使用to_param创建自定义URL(此自定义路径包含斜杠):classMachine问题是,自从Rails4.1.2行为发生变化并且Rails不允许在URL中使用斜线(当使用自定义URL时),所以它转义了斜线。我有这样的路线:Rails.application.routes.drawdoscope"(:locale)",locale:/#{I18n.available_locales.join("|")}/doresources:machines,except::destroydocollectiondoget:searchget'search/:ad_type(/

  10. ruby-on-rails - 我将 Rails3 与 tinymce 一起使用。如何呈现用户关闭浏览器javascript然后输入xss? - 2

    我有一个用Rails3编写的站点。我的帖子模型有一个名为“内容”的文本列。在帖子面板中,html表单使用tinymce将“content”列设置为textarea字段。在首页,因为使用了tinymce,post.html.erb的代码需要用这样的原始方法来实现。.好的,现在如果我关闭浏览器javascript,这个文本区域可以在没有tinymce的情况下输入,也许用户会输入任何xss,比如alert('xss');.我的前台会显示那个警告框。我尝试sanitize(@post.content)在posts_controller中,但sanitize方法将相互过滤tinymce样式。例如

随机推荐