【网络安全】php代码审计-sql注入进阶篇

本文探讨了在进行SQL注入攻击时如何绕过PHP代码的关键字过滤、OR/AND/XOR/NOT逻辑运算符过滤以及URL编码绕过。通过分析源代码,展示了如何利用大小写、双写关键字、逻辑运算符的替代形式以及URL编码的双重解析来构造注入语句,成功执行SQL注入。文章最后提供了网络安全学习资料。
摘要由CSDN通过智能技术生成

前言

这篇文章用代码审计的方式给大家讲解一些sql的绕过技巧。

关键字过滤

部分waf会对关键字进行过滤,我们可以用大小写或者双写关键字来绕过。

源代码分析

<?php
require 'db.php';
header('Content-type:text/html;charset=utf8');
$username=dl($_POST['username']);
$password=dl($_POST['password']);
$dl="SELECT * FROM xs WHERE username='$username' and password='$password'"; //登录界面后台处理
$ck=mysqli_query($db,$dl);
$row = mysqli_fetch_array($ck);
if($_POST['login']){
if($row) {
echo"你的密码".$row['username'];
}else{
echo"登录失败";
}
}
function dl($gl){
$gl=str_replace(array("union","UNION"),"","$gl");
$gl=str_replace(array("select","SELECT"),"","$gl");
$gl=str_replace(array("database","DATABASE"),"","$gl");
$gl=str_replace(array("sleep","SLEEP"),"","$gl");
$gl=str_replace(array("if","IF"),"","$gl");
$gl=str_replace("--","","$gl");
$gl=str_replace("order","","$gl");
return $gl;
} 

分析一下代码,首先获取了数据,加载dl函数以后带入了数据库中执行,然后if判定是否有提交,是否登录成功,登录成功后回显用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值