python-具名元组
定义及基本操作1234567891011121314151617181920import collections# 类Card,具有'rank', 'suit'两个属性Card = collections.namedtuple('Card', ['rank', 'suit'])#也可以用Card = collections.namedtuple('Card', "rank suit")aaanz = Card('514', 'gagaga')anz = Card('114', ['biu','da'])print(Card._fields)print(aaanz.suit)print(anz.suit)print(anz[0])# ('rank', 'suit')# gagaga# ['biu ...
python-魔术方法
定义Python的魔术方法是用于为我们自定义的类重写函数功能的方法
首先来看几个比较重要的
__getattribute__这个方法会拦截所有企图对对象属性访问的动作,包括__dict__的访问,若不设置返回值会把None当作访问结果,但是不会拦截对类的属性访问,所以为了避免访问属性循环最好使用基类
但是只适用于新式类,就是集成自object或者type的类
123456789101112131415161718192021222324252627class man(object): gender="girl" def __init__(self, name,age): self.name= name self.age =age def __getattribute__(self,attr): print("拦截") try: return super().__getattribute__(attr) #避免循环 #展示下错误用法: ...
bluecms
环境搭建要求php版本5.x,否则smarty无法正常渲染
目录结构
index.php123define("IN_BLUE",true);require_once('include/common.inc.php');require_once(BLUE_ROOT.'include/index.fun.php');
跟进一下common.inc.php
这里配置了全局过滤
1234567if(!get_magic_quotes_gpc())//magic_quotes_gpc = Off在5.3.4之前默认Off,可以00截断文件名,5.4后删除了{ $_POST = deep_addslashes($_POST); $_GET = deep_addslashes($_GET);//内置检查数组并使用了addslashes $_COOKIES = deep_addslashes($_COOKIES); $_REQUEST = deep_addslashes($_REQUEST);}
12345678 ...
BUU学习记录
[LCTF 2018]bestphp’s revenge预习
session反序列化
123php_binary 键名的长度对应的ascii字符+键名+经过serialize()函数序列化后的值php 键名+竖线(|)+经过serialize()函数处理过的值php_serialize 经过serialize()函数处理过的值,会将键名和值当作一个数组序列化,也是最常见的序列化字符串
123456当我们如果用php_serialize存入一组数据的时候$_SESSION['name'] = '|sky';他会保存为a:1:{s:4:"name";s:4:"|sky";}用php模式(默认)取出的时候|前面会被当做键值a:1:{s:4:"name";s:3:"从而引发注入
SoapClient原生类
浅入深出谭谈 HTTP 响应拆分(CRLF Injection)攻击(上) - 先知社区 (aliyun.com)
正文
访问 ...
Java-sec-code
环境配置下载地址:
https://github.com/JoyChou93/java-sec-code
选择本地的换源Maven
创建数据库并导入文件
然后修改一下application.properties的数据库用户名密码
注意不要用jdk.17.0.1,里面的xalan包有问题
我是在windows上搭建环境
需要修改一些代码
登录模块login.html
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172<!DOCTYPE html><html xmlns:th="http://www.thymeleaf.org"><head> <title>Login</title> <meta charset="UTF-8" /> & ...
文件上传
MIME类型检测
MIME类型在html文件中使用content-type属性表示
常见文件名对应的MIME类型:
gif —> image/gif,png —> image/png,jpg —> image/jpg,js —> text/javascript,htm/html —> text/html
大小写绕过
例如Php,PhP
文件名逻辑漏洞
Nginx 0.8.41 -1.4.3 / 1.5.0 – 1.5.7
上传png后访问png0x00.php即解析为php
某些情况下构造1.PHP. .(点空格点)
后缀变形
Apache服务中可以利用黑名单中没有的,但是又能够被解析的后缀名
例如php、php3、php4、php5、php7、pht、phtml、phps
00截断
注:需要magic_quotes_gpc=Off,php版本小于5.3.29
POST情况下在第一个后缀名后加一个空格(0x20),使用bp->repeater->h ...
XXE
XML语法规则12ELEMENT代表元素ENTITY代表实例
实体分类内部实体和外部实体内部实体
如果DTD是在xml中直接嵌入的为内部实体,其格式为
1<!DOCTYPE foo [ <!ENTITY myentity "my entity value" > ]>
例如
1234567891011121314<?xml version="1.0"?><!DOCTYPE note [ <!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)>]><note> <to>George</to> <from>John</from& ...
文件包含&伪协议备忘录
日志包含服务器日志包含前提:
具有日志读取权限
URL:?x=/var/log/nginx/access.log
修改User-Agent为<?php highlight_file('xxx.php'); ?>
nginx
123456日志:/var/log/nginx/access.log/var/log/nginx/error.log配置:/etc/nginx/nginx.conf/usr/local/nginx/conf/nginx.conf
apache
1234567891011日志:/var/log/apache/access.log/var/log/apache2/access.log/var/www/logs/access.log/var/log/access.log/etc/httpd/logs/access_log/var/log/httpd/access_log配置:/etc/apache2/apache2.conf/etc/httpd/conf/httpd.conf
ssh日志包含1ssh '<?php eva ...
第一篇博客
记录下自己的学习过程!!!