标签: code-injection

使用运行时 API 命令注入 bash

我正在尝试测试命令注入漏洞。

我使用执行命令的servlet ls,然后尝试在url中传递另一个命令来利用命令注入漏洞,但是当我传递新命令时什么也没有发生。这是我的 servlet 代码和我用来传递新命令的 url:

@WebServlet("/command")
public class CommandInjectionServlet extends HttpServlet {

    

    private static final long serialVersionUID = 1L;

    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        try {
            String comm = "/bin/bash -c ls " + request.getParameter("parameter");
            Process process = Runtime.getRuntime().exec(comm);
            BufferedReader stdInput = new BufferedReader(
                    new InputStreamReader(process.getInputStream(), StandardCharsets.UTF_8));

            String s = null;
            while ((s = stdInput.readLine()) != null) {
                response.getWriter().println(s);
            }
        } catch (IOException e) {
            e.printStackTrace(); 
            System.out.println("Error executing command");
        }
    }
    
}

Run Code Online (Sandbox Code Playgroud)

和我使用的网址 …

java security code-injection commandinjection

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

如何防止ASP/VBScript中的注入?

ASP(VBScript)中用于输入处理的最佳方式(或至少是最常用的方法)是什么?我主要关心的是HTML/JavaScript注入和SQL注入.是否有一些等同于PHP htmlspecialcharsaddslashes等等?或者我必须手动执行字符串替换功能吗?

vbscript code-injection input-filtering asp-classic

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

如果我只清理GET和POST数据,我会安全注射吗?

我只是在考虑清理数据以防止注入攻击的最佳方法.有些人喜欢在输出之前立即消毒,或者在插入数据库之前立即进行消毒......但我看到的问题有两个:(1)如果你错过了一个参数/变量怎么办?(2)如果你过度消毒怎么办?并不是说它会伤害输出,但是你已经知道的清洁消息并不是很安全.

例如,在PHP而不是使用$_GET,$_POST我不能用以下内容包装:

function get($var) {
    return my_sanitizer($_GET[$var]);
}
Run Code Online (Sandbox Code Playgroud)

或者那还不够?还有哪些恶意代码可以潜入?


在阅读下面的答案后,我意识到这个问题有点愚蠢.这取决于您是插入数据库还是输出HTML.在这种情况下,也许更好的只是在使用前做的.没关系,这也很容易包装输出方法......

language-agnostic sanitization code-injection

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

这是代码注入或只是垃圾邮件的尝试?

偶尔,我们会在我们的网站上注册与此类似的注册.(这是电子邮件通知的记录):

New User Registration
FirstName: cowdqd
LastName: cowdqd
Company: nWJrFxUitwFMbnK
Email: qwupxt@bsesfj.com
Phone: oCFsfSHolrnx
Fax: -152
AddressLineOne: xRQgqnCOJkkoA
AddressLineTwo: obsDvktXDL
City: vqxXGZQgIplDwm
Province: AB
PostalCode: kgyabr
Country: CA
IncludedInPromotions: Yes
RequestInfo: No
Comments: x0EDw7 eecfocnmvwzu, [url=http://fvbppxzancnj.com/]fvbppxzancnj[/url], [link=http://tyflcliodtqa.com/]tyflcliodtqa[/link], http://ldklshrkpwwn.com/
RegistrationDate: February 24 2010
Run Code Online (Sandbox Code Playgroud)

我认为这是垃圾邮件,但通常电子邮件和链接甚至都无效.为什么有人想这样做?

spam-prevention code-injection

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

是否有任何编程语言将功能视为可以操作的数据结构?

我编写了以下函数作为我正在开发的jQuery插件的一部分:

$.fn.append2 = function(collection, callback) {
    var $this = this;

    $.each(collection, function(key, value) {
        $this.append(callback ? callback(key, value) : value);
    });

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

在测试了一个高度依赖的高度递归函数之后.append2,我优化.append2了:

$.fn.append2 = function(collection, callback) {
    var $this = this;

    $.each(collection, callback
        ? function(key, value) { $this.append(callback(key,value)); }
        : function(key, value) { $this.append(value); }
    );

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

虽然这个代码在速度方面更有效,但它仍然让我不满意.基本上,我有两次定义相同的函数:

function(key, value) { $this.append(callback(key,value)); }
function(key, value) { $this.append(value); }
Run Code Online (Sandbox Code Playgroud)

我想知道是否有任何语言可以让我只定义一次函数:

function(key, value) { $this.append(value); }
Run Code Online (Sandbox Code Playgroud)

然后通过将参数替换为$this.appendfrom value来对其进行操作callback(key, value) …

language-features programming-languages functional-programming code-injection homoiconicity

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

这是一个安全的PHP管理页面吗?

我正在做一个游戏,我为它创建了一个"管理"面板.它的工作原理如下:

admin.php
admin/code1.php
admin/code2.php
Run Code Online (Sandbox Code Playgroud)

admin.php的:

<?php
include("lib.php");
$player = check_user($secret_key, $db);
if($player->rank != "Administrador")
{
header("Location: personagem.php");
exit;
}
include("templates/private_header.php");
head("Admin Panel","adminpanel.png");
startbox();
if(isset($_GET['page']))
{
include("admin/" . $_GET['page'] . ".php");
}
else
{
?>
<A href="admin.php?page=code1">Kill Players</a><br>
<A href="admin.php?page=code2">Heal Players</a><br>

<?php
}
endbox();
include("templates/footer.php");
?>
Run Code Online (Sandbox Code Playgroud)

我想知道我是否容易受到黑客攻击.code1.php和code2.php使用lib.php中包含的自定义查询库,因此无法直接执行它们而不会出现错误.

同样在我的模板中,我有:

if($player->rank == "Administrador")
{
echo "<a href='admin.php'>Admin Panel</a>";
}
Run Code Online (Sandbox Code Playgroud)

所以我可以更快地访问面板.那里也存在风险吗?

请注意,$ player是一个从对查询到表示实际玩家的玩家数据库的查询创建的对象.在我的想法中,破解这个的唯一方法是将表中的"排名"状态更改为"Administrador"我是对的吗?或者我有什么东西可以通过?提前致谢

php security administration code-injection

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

这容易受到SQL注入的影响

我意识到这方面已经有很多问题了.但我的方法和他们的方法不一样,所以我想知道.我想我理解SQL,但我不想冒将来犯错的风险,所以感谢任何帮助.(这只是我正在做的一个项目,不是家庭作业或任何重要的事情).

function checkLogin($username, $password) {
    $username = strtolower($username);
    connectToDatabase();
    $result = mysql_query("SELECT * FROM `users` WHERE username='$username'");
    $dbpassword = "";
while($row = mysql_fetch_array($result))
  {
    $rowuser = $row['username'];
  if($username != $row['username']) continue;
  $dbpassword = $row['password'];
  }
    if($dbpassword == "") {
        return false;
    }
    $genpass = generatePassword($password);
   return $genpass == $dbpassword;
}
Run Code Online (Sandbox Code Playgroud)

因此,用你最好的镜头打我:)我不认为我的方法尽可能高效.我不明白php足以理解$row = mysql_fetch_array($result)不幸的是在做什么.

php sql code-injection

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

有谁知道这个PHP代码的作用?

我发现这个嵌入在我网站上的一个php文件中,谁能告诉我它的作用?

$x0b="\x6da\x69l"; 
$ms = $_SERVER["S\x45R\126\105\x52_\x4e\101\x4dE"].$_SERVER["\123\x43R\111\x50\124_NA\x4d\105"];
$sub = "\x73\x68\145\x6cl\x20\076\076 :\x20" . $ms;
$o = array ("\x6fm","\164ma\151","\152\x5f\141\155\x72\x31","\x40\x68\x6f","\154.\x63");
$ee = $o[2].$o[3].$o[1].$o[4].$o[0];
$send = @$x0b($ee,$sub,$ms);
Run Code Online (Sandbox Code Playgroud)

php code-injection

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

FieldByName注射安全吗?

我在谈论Delphi + ADO + MSSQL.好的,我知道带参数的查询对SQL注入非常安全.另一方面,动态查询非常不安全.但是经典的FieldByName方法呢?我可以安全地为FieldByName分配一个绝对任意的字符串值,而不用冒险注入吗?

sql-server delphi ado code-injection

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

后期创建初始化guice singleton

有没有办法让guice在实例化单例后调用init()方法?在构造函数中调用init()不是一个选项,因为init()可以被子类覆盖.

java guice code-injection

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