我是靠谱客的博主 文静微笑,最近开发中收集的这篇文章主要介绍20210411web渗透学习之代码执行(又名代码注入)漏洞学习回顾记录(不定期更新),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 

 欢迎大家一起来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渗透学习之代码执行(又名代码注入)漏洞学习回顾记录(不定期更新)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部