CTF-web-016-DVWA-Command Injection
Low源码<?phpif( isset( $_POST[ 'Submit' ] ) ) { // Get input $target = $_REQUEST[ 'ip' ]; // Determine OS and execute the ping command. //确定OS并执行ping命令。 // php_uname( 's' ):返回操作系统名称 if( stristr( php_uname( 's' ), 'Windows NT' ) ) { // Windows $cmd = shell_exec( 'ping ' . $target ); } else { // *nix $cmd = shell_exec( 'ping -c 4 ' . $target ); } ...
SEC-2022版-0016-WEB攻防-07-通用漏洞之SQL数据库-PostgreSQL/PostgreSQL
知识点:1、SQL注入-MYSQL数据库2、SQL注入-MSSQL数据库(SqlServer)3、SQL注入-PostgreSQL数据库
详细点:数据库load_file()读取操作
高低权限注入漏洞的影响:- 后期注入漏洞的利用- 高低权 限数据库的区别: - 低权限数据库只能猜解 - 1.可暴力猜解 - 2.根据用户数据库特性查询表名列名等数据,得到需要猜测的数据 - 3.只能用于获取服务器后台的操作权限,而不能获取服务器的操作权限 - 高权限数据库能 - 可以执行跨库注入 - 可以升级为读写和执行的操作 - 除了access外所有的数据库都支持高权限注入 - 理论上提升操作除了access外所有的数据库都可行 - 实战:可能遇到升级失败的情况 - 权限限制 - 数据库内禁止权限 - 思路: - 获取数据库核心数据 - 文件读写与命令执行 - 注意: - 拿下后台不等于拿下权限,需要进行权限提升才能拿到目标权限 - 读写执行可以写入后门到网站 - 命令执行用来反弹webshell等操作 - 高权限数据库支持低权限数据库 ...
CTF-web-015-靶场DVWA-Brute Force
注意,这里需要使用字典,点我下载字典top100
这里的防护等级是逐级加高的,最明显的出现防护等级提升的是对于SQL语句防护的提升。
Low源码分析<?phpif( isset( $_GET[ 'Login' ] ) ) { // 获取get传参 $user = $_GET[ 'username' ]; $pass = $_GET[ 'password' ]; // md5加密 $pass = md5( $pass ); // 数据库查询语句 $query = "SELECT * FROM `users` WHERE user = '$user' AND password = '$pass';"; // 查询,查到就返回正确结果,查不到报错结果 $result = mysql_query( $query ) or die( '<pre>' . mysql_error ...
SEC-2022版-0015-WEB攻防-06-通用漏洞之SQL注入
SQL注入(数据库注入)➢ASP+Access-简易注入-字典猜解➢ASP+Access-偏移注入-报错显示➢PHP+MYSQL-简易注入-存储特性➢PHP+MYSQL-跨库注入-权限属性
前置知识:
SQL注入漏洞产生原理分析SQL注入漏洞危害利用分析脚本代码与数据库操作流程数据库名,表名,列名,数据数据库类型,数据库用户,用户权限
定义
定义 :脚本代码在实现代码与数据库进行数据通讯时(从数据库取出相关数据进行页面显示),将定义的SQL语句进行执行查询数据时。其中的SQL语句能通过参数传递自定义值来实现控制SQL语句,从而执行恶意的SQL语句,可以实现查询其他数据(数据库中的敏感数据,如管理员帐号密码)。这一个过程就可以叫做SQL注入漏洞。简单来说,根据代码逻辑存在的问题,使用自定义的sql语句去随便查查数据。危害 : 获取管理员的账户密码,操作数据库内的数据。
sql语句是查询操作,不能乱写。
漏洞产生根本条件:可控变量 特定函数操作变量和特定函数的过程中所产生的漏洞,例如无法检测语句后面是否被注释掉,产生注入。
正常访问网站时:http://192.168.46.160:8 ...
SEC-2022版-0014-WEB攻防-05-Python/SSTI
SSTI所涉及的开发语言SSTI所涉及的语言
知识点:1、PYC文件反编译2、Python-Web-SSTI3、SSTI模版注入利用分析
python网站识别的办法:Werkzeug(中间件)
模板文件+数据 ==模板引擎==>HTML文件模板类似于css,是一种前端显示修饰。换模板就是换一种显示样式。➢PY反编译-PYC编译文件反编译源码➢SSTI入门-原理&分类&检测&分析&利用➢SSTI考点-CTF靶场-[WesternCTF]shrine➢SSTI考点-CMS源码-MACCMS_V8.X执行
PY反编译-PYC编译文件反编译源码pyc文件是py文件编译后生成的字节码文件(byte code),pyc文件经过python解释器最终会生成机器码运行。因此pyc文件是可以跨平台部署的,类似Java的.class文件,一般py文件改变后,都会重新生成pyc文件。反编译出py文件就是源码文件了。
=>python在线反编译1=>python在线反编译2=>反编译工具Python2.7
SSTI入门-原理&分类& ...
SEC-2022版-0013-WEB攻防-04-JS
解析性语言与前端语言的区别:
解析性语言前端与后端的代码量不一致。(有隐私,黑盒测试)例如:PHP,java前端性语言基本上前后端代码量对等。(无隐私,白盒测试)例如:js,html
1、原生JS&开发框架-安全条件2、常见安全问题-前端验证&未授权
安全条件-可控变量&特定函数# JS渗透测试:存在可控变量和特定函数即存在JS参数漏洞- js代码原生态,全部暴露在前端 ==> 能给更多的信息给我们参考。- 识别JS的方法: 1.插件识别:wappalyzer(浏览器插件) 2.前端页面查看源代码识别 ==> 浏览器右键查看源代码,源代码分为: 2.1.引入js--从外部引入的JS文件 2.2.嵌入JS--嵌套在源代码当中的js 3.审查元素识别:浏览器开发者模式的Network ==> JS文件越多,越证明其为JS网站/利用JS实现功能 4.简短代码的JS嵌套:代码简短,但实际运用到的js全部在引用文件当中。 => <script type="text/javascript& ...
SEC-2022版-0012-WEB攻防-03-JavaWeb/JWT
白盒JAFVA。如何从java代码当中分析你的组件有没有安全问题。或者黑盒角度看组件当中是否存在安全问题。注入在java当中很难产生。java的预编译机制筛掉了很多漏洞,例如注入漏洞。
JAVA知识点-Java/JWT/安全组件1、JavaWeb常见安全及代码逻辑2、目录遍历&身份验证&逻辑&JWT3、访问控制&安全组件&越权&三方组件
java无代码难度巨大
JavaWeb-WebGoat8靶场搭建使用# 环境下载:https://github.com/WebGoat/WebGoat- 搭建以及访问 启动jar包,搭建环境,端口9091.(启动web服务器,源码是webgoat-server-8.1.0.jar) $ java -jar webgoat-server-8.1.0.jar --server.port=9091 访问方法:http://127.0.0.1:9091/WebGoat/login.html 初次需要注册,且页面全英文- 关卡众多 1.各种各样的安全问题,分等级打关 寻 ...
SEC-2022版-0011-WEB攻防-02-PHP
Web攻防-PHP暂时未讲漏洞。
知识点1、过滤函数缺陷绕过2、CTF考点与代码审计 –> 重点在实际应用,而不是为了比赛而比赛
==与===md5intvalstrposin_arraypreg_matchstr_replace过滤器的不严谨会导致注入产生1.赋值与对比符号(CTF考点) = 赋值 == 对比,不对比类型 => 不具备唯一性,导致其他多种情况下条件成立 举例:1.0和1和+1 CTF赛事:存在绕过 === 对比,包括对比类型 => 强类型对比 $a=1; if($a==$_GET['x']){ echo $flag; } //1.0 +1 1a $a='1'; if($a===$_GET['y']){ echo $flag; } //1.0 +1等2.加密 md5 加密函数,md5的对比 例 ...
SEC-2022版-0010-WEB攻防-01-ASP/ASPX
Web漏洞篇特性漏洞+共性漏洞
ASP/ASPX-Windows的iis运行,不会在Linux平台运行。
安全攻防1、Web源码2、开发语言3、中间件平台4、数据库类型4、第三方插件或软件
WEB漏洞与服务漏洞
WEB漏洞是网站页面以及代码上的漏洞,服务类漏洞是中间件上的漏洞。
ASP组合套件Windows+ iis+asp +accessiis 中间件 存在写入漏洞/也就是勾选写入权限后产生的漏洞 IIS PUT漏洞access 数据库 一般后缀名为:asp,asa(可执行),mdb(可下载,且在网站目录下)文件是否被解析可以在主目录那儿设置思路:知道数据库地址,尝试连接并且下载数据库文件,之后就是获得账密信息了。如何找到: 默认源码安装可以直接找到 使用后台扫描工具扫描最大的缺陷莫过于无法找到相关站点(少之又少)
知识点:1、ASP环境搭建组合2、ASP-数据库下载&植入3、IIS-短文件&解析&写权限
ASPX(.NET)
需要反编译才能破解大量的dll文件。.net使用dll:形式与java类 ...
SEC-2022版-0009-php开发-02-前端验证JS/AJAX&PHP框架
JSJS文件上传文件上传对文件上传的后缀名进行识别,可以通过PHP或者JS实现前端JS和后端PHP的区别JS:源代码在前端,可以使用重写前端页面来绕过 判定方法:看代码,看响应速度……PHP:源代码在后端,只能进行黑盒测试
JS的AJAXAJAX:一种传递数据的方式,不过还是白盒的。可以实现数据交互。
环境:前端的支付环境,登录环境–>通过修改BP包影响到整个支付流程或者修改登录标志影响登录,造成任意支付/登录漏洞实际:将正确结果状态码替换掉错误的状态码,导致账号被盗用(验证码)
代码前端
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Ajax登录</title></head><body>帐号:<input type="text" class="user">密码:<input ...