概述
欢迎大家一起来Hacking水友攻防实验室学习,渗透测试,代码审计,免杀逆向,实战分享,靶场靶机,求关注
学了很久的代码执行,这个漏洞很厉害,但是难挖,出于挖src的需求,结合ctf的实际情况,写下这篇文章。
一、动态代码执行(实际很少了)
也就是常说的$_GET['a']($_GET['b']);形式
连续2个用户可控的输入前者包含后者
那就可以考虑输入a=assert&b=命令 来执行,,如果$_GET['a']("$_GET['b']"),那就是把b当做字符串,就输入a=eval&b=命令 如:a=assert&b=system(id) a=assert&b=phpinfo()等……
二、eval代码执行(实际使用注意闭合前后的“” ‘’ ;//等)
这个最基础了……几乎就是考你eval的使用…… 注意的是,,eval里面是一个字符串的语句,,所以一定要;结尾
举个例子(来自国光的web):Web for Pentester 也是一个经典的靶场,也叫做 PentesterLab ,最近一直带着笔记本在外面,也没法研究内网安全的知识了,就刷刷靶场来充实一下自己吧,宁静致远。
三、正则preg_replace()
$pattern 在 /e 模式下会将新输入 $replacement参数的值当成 PHP 代码执行(第二个参数构造payload)
四、用fopen,fputs写木马语句到一个php文件里面:fputs(fopen("shell.php","a"),"<?php phpinfo();?>"); 第二个参数可以是一句话木马。。
五、create_function 命令注入
好家伙还是国光老哥厉害:
<?php
class User{
public $id, $name, $age;
function __construct($id, $name, $age){
$this->name= $name;
$this->age = $age;
$this->id = $id;
}
}
$sql = "SELECT * FROM users ";
$order = $_GET["order"];
$result = mysql_query($sql);
if ($result) {
while ($row = mysql_fetch_assoc($result)) {
$users[] = new User($row['id'],$row['name'],$row['age']);
}
if (isset($order)) {
# 使用用户自定义的比较函数对数组进行排序
usort($users, create_function('$a, $b', 'return strcmp($a->'.$order.',$b->'.$order.');'));
}
}
?>
最后
以上就是文静微笑为你收集整理的20210411web渗透学习之代码执行(又名代码注入)漏洞学习回顾记录(不定期更新)的全部内容,希望文章能够帮你解决20210411web渗透学习之代码执行(又名代码注入)漏洞学习回顾记录(不定期更新)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复