博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WEB安全 php+mysql5注入防御(一)
阅读量:5090 次
发布时间:2019-06-13

本文共 1926 字,大约阅读时间需要 6 分钟。

 

 

注入利用函数:

  • concat()函数将多个字符串连接成一个字符串
  • database() 当前数据库,用途:获取数据
  • version() 数据库版本,用途:利用版本特性,如5.0版本下的information_schema库
  • user() 当前数据库用户,用途:判断权限
  • @@version_compile_os 操作系统版本,用途:主要用来避免linux和windows的大小写问题影响

 

mysql5.0及以上版本默认有一个information_schema数据库,其中保存有所有数据库表名和列名信息。

可以打开phpmyadmin,分别在information_schema数据库的tables表和columns表查看所有表信息,了解下面的注入语句的本质。

 

information_schema数据库结构:

  tables表

    table_name列(存放所有表名)

    table_schema列(数据库名,条件注入时转为16进制格式)

  columns表

    column_name表(存放所有列名)

    table_name列(存放所有表名)

    table_schema列(数据库名,条件注入时一般直接找指定表的列名,不需要再指定库名)

    table_collation表(字符编码,utf8_general_ci)

 

一、php+mysql 联合查询注入

http://127.0.0.1/1.php?x=1 and 1=2http://127.0.0.1/1.php?x=1 order by 3http://127.0.0.1/1.php?x=1 UNION SELECT 1,2,3http://127.0.0.1/1.php?x=1 UNION SELECT database(),version(),user()http://127.0.0.1/1.php?x=1 UNION SELECT CONCAT(DATABASE(),0x20,VERSION(),0x20,USER(),0x20,@@VERSION_COMPILE_OS),2,3用户ID:sqlin 5.5.53 root@localhost Win32http://127.0.0.1/1.php?x=1 UNION SELECT CONCAT(TABLE_NAME,0x20,TABLE_COLLATION),2,3 from information_schema.tables where table_schema=0x73716C696Ehttp://127.0.0.1/1.php?x=1 UNION SELECT CONCAT(column_name),2,3 from information_schema.columns where table_name=0x6E657773 //0x6E657773也可以用database()替代http://127.0.0.1/1.php?x=1 UNION SELECT id,text,title FROM sqlin.newshttp://127.0.0.1/1.php?x=1 UNION SELECT `key`,2,3 FROM sqlin.datakey在数据库中是关键字,需要用反引号引起来用户ID:www.xiaodi8.com

  

二、注入产生的原因及修复建议

1. 注入产生的原因:未对参数接收的值进行过滤

2. 修复建议:
2.1 判断传入的参数类型(数字,过滤非数字):

"; echo "文章标题:".$row['title']."
"; echo "文章内容:".$row['text']."
"; echo "

"; } mysql_close($conn);//关闭数据库连接 echo "当前执行语句:".$sql."

";}else{ echo "非法字符: ".$id;}?>

  

2.2 指定关键字过滤(过滤select等关键字,考虑大小写是否可绕过):

"; echo "文章内容:".$row['text']."
"; echo "文章标题:".$row['title']."
"; echo "

";} mysql_close($conn);//关闭数据库连接 echo "当前执行语句:".$sql."

";//php语言结尾?>

  

end.

 

转载于:https://www.cnblogs.com/i-honey/p/7903503.html

你可能感兴趣的文章
python-数据类型
查看>>
ASP.NET EF实体主外键关系
查看>>
【python之路15】深浅拷贝及函数
查看>>
Python操作RabbitMQ
查看>>
HDUOJ----4509湫湫系列故事——减肥记II
查看>>
linux下mysql函数的详细案列
查看>>
【2019.7.24】数颜色 / 聪明的可可 / 奖章分发
查看>>
深度学习基础网络 ResNet
查看>>
js(事件) d3
查看>>
算法学习-带分数
查看>>
Pomodairo,番茄工作法-应用篇
查看>>
XML 之 与Json或String的相互转换
查看>>
Android 之 权限 uses-permission 设置
查看>>
关于面试技巧
查看>>
JavaScript学习笔记(二)
查看>>
salesforce零基础学习(七十七)队列的实现以及应用
查看>>
H5视频播放自动全屏,暂停退出全屏等功能
查看>>
【代码笔记】iOS-对iphone手机进行判断的一些函数
查看>>
easyui源码翻译1.32--ComboTree(树形下拉框)
查看>>
精度--洛谷 P1378 油滴扩展
查看>>