草庐IT

Bash$编码$Shell

全部标签

PHP system() 函数 - 它是否使用 shell 来执行命令?

我读了一个相关的post我的印象是php中的system()函数不使用shell。但是后来在owasp上看到了下面这个例子-页面上的示例6:以下PHP代码片段容易受到命令注入(inject)攻击:");$file=$_GET['filename'];system("rm$file");?>以下请求和响应是成功攻击的示例:请求http://127.0.0.1/delete.php?filename=bob.txt;id回应Pleasespecifythenameofthefiletodeleteuid=33(www-data)gid=33(www-data)groups=33(www-d

php - 无法使用 PHP shell_exec() 执行 telnet 命令

我正在尝试使用telnet和php进行邮件验证。整个过程在终端中很好,但是当我使用phpshell_exec()时,它只运行到Telnet连接命令。连接telnet后,其余的telnet特定命令将不再起作用。我们需要使用其他方式使用php执行telnet吗?更新:我正在尝试复制this教程。这是我的代码publicfunctionmailtest(Request$request){//Takinginputemail$email=$request->input("email");$divide=explode("@",$email);//FindouttheDomain$server=

php - 如何正确处理 PHP Shell_exec 中的空格?

我通过cmd行在win2003服务器PHP526上运行。我有一个命令行字符串:$cmd='"d:\ProgFiles\foo.exe"-p"d:\datapath\datadir"';尝试在php代码中执行此操作$out=`$cmd`;#noteuseofbackticksAKAshell_exec导致foo.exe失败,因为它将-parg解释为“d:\data”。但是,复制到windowsshellcmdline的相同$cdm字符串会成功执行。如何在PHPshell_exec中正确处理空格? 最佳答案 使用escapeshella

php - 从键上的 json 编码字符串中删除双引号

我有一个json_encoded数组,这很好。在从函数调用返回时,我需要去除json字符串所有键上的双引号。我将如何着手执行此操作并成功返回它?谢谢!我很抱歉,这里是json代码的片段:{"start_date":"2011-01-0109:00","end_date":"2011-01-0110:00","text":"test"}只是为了添加更多信息:我将通过AJAX请求检索JSON,所以如果它更容易,我愿意接受关于如何在javascript端执行此操作的想法。 最佳答案 编辑根据anubhava的评论$str='{"start

php - shell_exec 没有在后台运行?

我有以下执行完美但不是在后台执行的程序?它实际上会停止页面加载,直到它完成,这是不好的。shell_exec("/usr/bin/php/home/public_html/pages/test/backg.php{$user_info}{$user_info2}{$user_info3}&");我也试过exec("/usr/bin/php/home/public_html/pages/test/backg.php{$user_info}{$user_info2}{$user_info3}&");我以为&意思是它会执行然后让保留页面继续执行? 最佳答案

php - 使用 htmlspecialchars 而不是编码 & 是否存在安全漏洞?

我目前在我的一个项目中使用以下行:htmlspecialchars($value,ENT_QUOTES,'UTF-8');因此它编码&,',",。我的问题是(由于某些内部编码原因,我正在考虑)不编码&有任何安全风险吗?因此,如果使用以下行会产生安全风险/泄漏:$value=str_replace('&','&',$value);对于,',"我很清楚为什么要对它们进行编码,因为它们可以用于html注入(inject)。但是&我没有看到任何原因(我也没有发现任何特殊的原因到目前为止的原因)。编辑:因为多次提到数据库访问。我在那里使用带有参数的学说,...所以数据库应该(相对)从SQ

PHP json 编码和 JS JSON.stringify

我正在使用PHP和Javascript构建某种网络服务。我尝试验证从JS发送到PHP的根据post参数计算的token。假设代码如下:JS:token=JSON.stringify(params);PHP:token=json_encode($_POST);有人可以向我解释为什么生成的两个JSON字符串的长度不同吗?(我试图在PHP中trim\n\r\t,在PHP中trim斜线,几个JS库)字符串的PHP版本总是有更多的字符。 最佳答案 我遇到了同样的问题,我想比较编码的json字符串的加密版本。要使json_encode的输出与j

PHP - 浏览器中的 shell_exec 输出为空

我在shell_exec()中运行一个简单的wget命令wget_file.php根据http://www.php.net/shell_exec我可能会期待一个输出:“执行命令的输出,如果发生错误或命令没有输出,则为NULL。”如果我从命令行运行wget_file.php,我将看到wget结果的显示。但是,如果我从浏览器运行它,则不会给出任何结果。(但文件确实下载成功)我计划通过cUrl调用来执行wget_file.php,同时传递url+路径。但在执行完成后,从shell_exec()得到响应会很好。有谁知道我是否只是缺少一些东西来获取输出(在浏览器中运行)?

PHP 和 bash 返回不同的哈希结果

尝试使用bash命令和PHP的hash()函数生成散列时,我得到了不同的结果。我查看了之前的问题,最常见的问题是字符串中隐藏了换行符或其他一些字符,但是我在实际字符串而不是文件上运行这些函数,所以这不是问题所在。例如:bash:md5sum:b1946ac92492d2347c6235b4d2611184sha256sum:5891b5b522d5df086d0ff0b110fbd9d21bb4fc7163af34d08286a2e846f6be03PHP的hash()函数:hash('md5','hello'):9dd4e461268c8034f5c8564e155c67a6hash

javascript - 将表情符号编码为 un​​icode 代码点 - PHP/JS

假设我在PHP上有这个字符串:$str='?️';或者JavaScript上的这个字符串:varstr='?️';如果我执行utf8_encode($str),结果是\ud83c\udc04\ufe0f,但我希望它是1F004或1f004或\u1f004以查找与该字符匹配的图像文件。我做了很多很多在线搜索来寻找编码它的方法,我发现有很多地方相同的术语用于非常不同的事物,看起来我想要的是“编码”一个字符串到UTF-32代码点,但我真的不知道如何命名我想要的东西,我只想使用PHP和/或JavaScript将这个?️转换成这个1f004.http://www.fileformat.info/