FLASK框架+SSTI
Flask框架1.HTML代码插入Flask应用:原始:1234567891011121314151617181920from flask import Flaskapp = Flask(__name__)@app.route('/greet')def greet(): user = {'username': 'John', 'age': "20"} return '''<html> <head> <title>Templating</title> </head> <body> <h1>Hello, ''' + user['username'] + '''!, you’re ''' + us ...
FOFA语法(基础版)
FOFA语法(一些些基础)起源于bot告诉我,我搜索来的答案是错的T-T然后他又问我一题我还是不会(允悲)
IP地址类别
IPv4 由32位二进制数构成,转化为十进制数
IPv6 由8组4位的十六进制数构成
IPv4搜索方式1、通过单一的IPv4地址搜索 直接输入ip,或者ip=”要输入的ip”
2、C段查询 ip=”220.181.111.1/24” 搜索结果包括220.181.111.0到220.181.111.255
什么是ip C段eg:192.168.2.0/24
192.168.2.0换成32位二进制,四组,每组8位
/24 表示前24位不变,后8位由全0变化到全1的过程,也就是由“00000000”变化到“11111111”又因为全0是子网网络地址,全1是子网广播地址,这两个地址是不分配给主机使用的。所以有效的可分配的范围是前24位不变,后8位由“00000001”变化为“11111110”的范围再转换回十进制就是192.168.2.1192.1 ...
python笔记(乱记版)
Python前情:Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字,读取中文时会报错。
解决方法:只要在文件开头加入 # -*- coding: UTF-8 -*- 或者 # coding=utf-8 就行了
(# coding=utf-8 的 = 号两边不要空格。)
脚本式编程通过脚本参数调用解释器开始执行脚本,直到脚本执行完毕。当脚本执行完成后,解释器不再有效。
让我们写一个简单的 Python 脚本程序。所有 Python 文件将以 .py 为扩展名。将以下的源代码拷贝至 test.py 文件中。
1print ("Hello, Python!")
这里,假设你已经设置了 Python 解释器 PATH 变量。使用以下命令运行程序:
1$ python test.py
输出结果:
1Hello, Python!
Python 标识符在 Python 里,标识符由字母、数字、下划线组成。
在 Python 中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。
Python ...
sql绕过方式(部分
sql的一些些绕过方式?(随便记一下)
大小写绕过数据库使用不区分大小写的方式处理sql关键字。
内联注释绕过内联注释就是把一些特有的仅在MYSQL上的语句放在 /*!...*/ 中,这样这些语句如果在其它数据库中是不会被执行,但在MYSQL中会执行。
编码绕过
Hex 编码:将 SQL 关键字编码为十六进制值,这样过滤机制就不会识别它们。例如,SELECT 编码为 0x53454C454354。
空格过滤绕过一般绕过空格过滤的方法有以下几种方法来取代空格
123456/**/()回车(url编码中的%0a)`(tap键上面的按钮)tap两个空格
多语句注入多语句意思就是可以执行多个语句,利用分号进行隔开
123示例:id=1";WAITFOR DELAY '0:0:3';delete from users; --+id=1';select if(length(user(),1,1)>1,sleep(3),1) %23';select if(length((select table_name from information_ ...
ssrf
SSRF 服务端请求伪造(Server Side Request Forgery, SSRF)指的是攻击者在未能取得服务器所有权限时,利用服务器漏洞以服务器的身份发送一条构造好的请求给服务器所在内网。SSRF攻击通常针对外部网络无法直接访问的内部系统,即内网。
SSFR中URL的伪协议
file:///
//从文件系统中访问文件,获取文件内容
12http://example.com/ssrf.php?url=file:///etc/passwdhttp://example.com/ssrf.php?url=file:///C:/Windows/win.ini
dict://
sftp://
//与SSH打包在一起的单独协议
ldap://或ldaps://或ldapi://
//轻量级目录访问协议
tftp://
//允许从远程主机获得文件 ...
文件包含
文件包含PHP常用的文件包含函数有四种,区别如下:
1234require():找不到被包含的文件会产生致命错误,并停止脚本运行include():找不到被包含的文件只会产生警告,脚本继续执行require_once()与require()类似:唯一的区别是如果该文件的代码已经被包含,则不会再次包含include_once()与include()类似:唯一的区别是如果该文件的代码已经被包含,则不会再次包含
以这四个函数包含文件时,不论文件什么类型都会直接作为php文件解析。
分类
本地文件包含漏洞(LFI)
能够打开并包含本地文件的漏洞,我们称为本地文件包含漏洞(LFI)
(1)使用绝对路径
(2)使用相对路径进行读取
12./表示当前位置路径../表示上一级路径位置
(3)一些常见的敏感目录信息路径
Windows系统:
123456C:\boot.ini //查看系统版本C:\windows\system32\inetsrv\MetaBase.xml //IIS配置文件C:\windows\repair\sam //存储Windows ...
xss
XSS-labLevel 1//反射型xss注入
// JS弹窗函数alert()
遇到?name=test,不妨直接试试
1?name=<script>alert()</script>
Level 2同1
查看源码发现<>被编码了,用双引号把左右两边属性的引号和标签闭合即可
1"><script>alert()</script>"
注:
12345678htmlspecialchars()编码 “<” “>” <代表小于号(<) >代表大于符号(>) ≤表示小于或等于符号(<=) ≥表示大于或等于符号(>=)&表示&"表示” '表示’
Level 3//使用不带有<>的事件代码,例如:onfocus、onmouseover
先要知道:onfocus 事 ...
文件上传
文件上传本人已知解题方法:
前端修改
.user.ini
1auto_prepend_file = 1.png
.htaccess
123<FilesMatch "1.jpg">SetHandler application/x-http-php</FilesMatch>
文件幻术头绕过
12345678jpg对于的前面的16进制字符是FFD8FFE000104A464946png对应的是89504E47gif对应的是474946383961 // GIF89a
服务端MIME类型验证(文件内容类型检测)
1234当对文件内容有限制时,可以将Content-Type:application/octet-stream等改为:Content-Type:image/jpegContent-Type:image/pngContent-Type:image/gif
后缀绕过
1234php: php、 phtml、php3、php4、php5 jsp: jap、jspx、jspf asp: asa、cer、aspxext: exe ...