之前碰到过好几次Struts2,还都是016,项目.众测都遇到过,每次都只是证明了一下存在,由于waf的存在,没有深入去利用,这里简单的记录下. 0x01 背景 xray或者Struts2漏扫可以扫到网站存在Struts2漏洞 但是执行命令会发现直接Connection Reset,很明显是被waf拦截了 0x02 探究waf规则 一个一个删除关键字,发现拦截的关键字有三个: Runtime.dispatcher Runtime很熟悉,执行命令一般都用这个,拦截了这个关键字,执行命令还是比较困难…
当你用 Python 写程序时,不论是简单的脚本,还是复杂的大型项目,其中最常见的操作就是读写文件.不管是简单的文本文件.繁杂的日志文件,还是分析图片等媒体文件中的字节数据,都需要用到 Python 中的文件读写. 本文包含以下内容 文件的构成部分 Python 读写文件的基本操作 在一些场景下读写文件的技巧 这篇文章主要是面向 Python 的初级和中级开发者的,当然高级开发者也可能从中有所收获 : ) 文件由哪些部分构成的? 在我们正式进入 Python 文件读写之前,首要的一件事,是要搞明…
写脚本的时候需要将文件中的一行修改,我的修改逻辑是,用r+方式打开文件,然后将原文件数据读入一个数组,修改数组的对应元素,在seek(0),然后将数组write进文件 结果: 文件文件末尾总是多出一行‘D\n’,我也是其了怪了,抓耳挠腮的研究了半天,仍然未发现问题原因,而且用其他方式都可以,比如说用r打开文件,然后再写到一个新建的文件中(用w方式打开)就没有问题 到最后我也没找出问题在哪,而是屈服了,用r方式读入,写到新文件中, 结论:文件的r+读取方式慎用 期望:将来有一天能知道为什么…
一.txt文件 with open('users.txt','r') as user_file: data = user_file.readlines() users = [] for line in data: user = line[:-1].split(':')#line[:-1]表示去掉最后一个字符, split(str='****',num=(***) 填写num表示将切割成num+1个部分 #返回的是符合条件的列表 # print(user) users.append(user) p…
今天偶然利用此命令干成了大事,老司机一看就懂命令用法百度搜到的,希望对各位表哥有用echo 48 65 6C 6C 6F 2C 57 6F 72 6C 64 21 >hex.txt::生成 hex.txt,机器码对应的内容是 Hallo World! certutil -decodehex hex.txt bin.txt::Hex2Bin certutil -encode bin.txt Encode.txt::Base64_Encode certutil -decode Encode.txt…
升级linux文件时,若不小心把文件名给重命名了,结果导致执行所有命令都不识别. 比如我们不小心执行了 mv /lib64/libc.so.6 /lib64/libc.so.6.bak 结果导致所有系统命令都用不了.怎么办呢?好急人~~ 网上搜索半天,有的说要光盘引导修复,这可是要进入机房的啊,有没有更方便的呢? 最后找到了,只要当前会话没有断开: 执行export LD_LIBRARY_PATH=/lib64/libc.so.6.bak:$LD_LIBRARY_PATH修改临时变量. 然后执行…
其实就一条命令:(保存为bat格式,注意:有两个and希腊字母 && )cmd /k "cd /d Your ProjectPath&&Your CMD command" 举例:1.在电脑桌面,新建txt文本.2.把下面一行复制到txt文本中,并改为您的路径和命令:cmd /k "cd /d D:\Program Files\Project\bin&&You cmd Command Line"3.把文本的后缀名txt改…
#!/bin/bash while read line do $line & done < /path/filename…
导言:nodejs中所有与文件相关的操作都在fs模块中,而读写操作又是我们会经常用到的操作,nodejs的fs模块针对读操作为我们提供了readFile,read, createReadStream三个方法,针对写操作为我们提供了writeFile,write, createWriteStream三个方法,下面分析一下它们的区别: 一.readFile和writeFile 1.readFile方法是将要读取的文件内容完整读入缓存区,再从该缓存区中读取文件内容,具体操作如下: fs.readFil…
作为一个后台程序猿,经常需要把一堆程序集(DLL)或者应用程序(EXE)复制到多个服务器上,实现程序的代码逻辑更新,用以测试新的功能或改动逻辑.这里给大家介绍一个自己实现的PowerShell脚本,方便大家替换DLL或者EXE到多个Windows机器上. 一.   脚本用途 用于方便复制多个文件到多个服务器上. 二.   脚本功能 脚本的主要功能如下: 支持通过最后修改时间过滤文件,设定时间之前的文件不进行复制操作(逻辑设计源于Rebuild代码后只替换新Build出来的有改动的文件): 支持多…
在.net中有很多有用的类库来读写硬盘上的文件 一般比较常用的有: File:1.什么时候使用:当读写件大小不大,同时可以一次性进行读写操作的时候使用         2.不同的方式可以读写文件类型不一样. ReadAllBytes()  WriteAllByte():可以读写任意类型的文件 (里面封装的是FileStream)           ReadAllLines()  ReadAllText():(里面封装是StreamWriter,StreamReader),只能读写文本类型文件…
自工作以后好久没有整理Java的基础知识了.趁有时间,整理一下Java文件操作的几种方式.无论哪种编程语言,文件读写操作时避免不了的一件事情,Java也不例外.Java读写文件一般是通过字节.字符和行三种方式来进行文件的操作. import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.F…
//用格式化(fprintf和fscanf函数)的方式读写文件 [用格式化的方式向文件中写入数据]#include<stdio.h>#include<stdlib.h> int main(){ int i=12,f=3; FILE *fp; if((fp=fopen("f:\\FILE_1\\file_4.txt","w"))==NULL) { printf("can't open file\n"); exit(0); }…
一.Java把这些不同来源和目标的数据都统一抽象为数据流. Java语言的输入输出功能是十分强大而灵活的. 在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输出,文件的操作,网络上的数据流,字符串流,对象流,zip文件流. 这里介绍几种读写文件的方式 二.InputStream.OutputStream(字节流) //读取文件(字节流) InputStream in = new FileInputStream("d:\\1.txt"); //写入相应的文件…
打开文件: 在python3中,打开文件的函数是: open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True)   参数说明: file--文件名 mode—打开模式,默认只读模式 buffering--如果buffering的值被设为0,就不会有寄存.如果buffering的值取1,访问文件时会寄存行.如果将buffering的值设为大于1的整数,表明了这就是的寄存区的…
java.io的几种读写文件的方式 一.java把这些不同来源和目标的数据都统一抽象为数据流. Java语言的输入输出功能是十分强大而灵活的. 在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输出,文件的操作,网络上的数据流,字符串流,对象流,zip文件流等等. 这里介绍几种读写文件的方式 二.InputStream.OutputStream(字节流) //读取文件(字节流) FileInputStream in = new FileInputStream("d:\\…
读文件:BufferedReader 从字符输入流中读取文本,缓冲各个字符,从而提供字符.数组和行的高效读取. 可以指定缓冲区的大小,或者可使用默认的大小.大多数情况下,默认值就足够大了. 通常,Reader 所作的每个读取请求都会导致对基础字符或字节流进行相应的读取请求.因此,建议用 BufferedReader 包装所有其 read() 操作可能开销很高的 Reader(如 FileReader 和 InputStreamReader).例如, BufferedReader in   = n…
知己知彼,百战不殆 --孙子兵法 [目录] 0x0 前言 0x1 WAF的常见特征 0x2 绕过WAF的方法 0x3 SQLi Filter的实现及Evasion 0x4 延伸及测试向量示例 0x5 本文小结 0x6 参考资料 0x0 前言 促使本文产生最初的动机是前些天在做测试时一些攻击向量被WAF挡掉了,而且遇到异常输入直接发生重定向.之前对WAF并不太了解,因此趁此机会科普一下并查阅了一些绕过WAF的方法.网上关于绕过WAF有诸多文章,但是观察之后会发现大体上绕过WAF的方法就那八.九种,…
知己知彼百战不殆 --孙子兵法 [目录] 0x00 前言 0x01 WAF的常见特征 0x02 绕过WAF的方法 0x03 SQLi Filter的实现及Evasion 0x04 延伸及测试向量示例 0x05 本文小结 0x06 参考资料 0x00 前言 笔者前几天在做测试时输入攻击向量后页面发生了重定向甚至异常输入也是重定向怀疑其中有WAF在作怪.之前对WAF接触比较少纯粹是新手趁此科普了一下并查阅了一些绕过WAF的方法.所找到的资料中主要分为两类SQL注入和XSS绕过笔者SQL注入同样是新手…
知己知彼,百战不殆 --孙子兵法 [目录] 0x0 前言 0x1 WAF的常见特征 0x2 绕过WAF的方法 0x3 SQLi Filter的实现及Evasion 0x4 延伸及测试向量示例 0x5 本文小结 0x6 参考资料 0x0 前言 促使本文产生最初的动机是前些天在做测试时一些攻击向量被WAF挡掉了,而且遇到异常输入直接发生重定向.之前对WAF并不太了解,因此趁此机会科普一下并查阅了一些绕过WAF的方法.网上关于绕过WAF有诸多文章,但是观察之后会发现大体上绕过WAF的方法就那八.九种,…
转自:http://fuck.0day5.com/archives/622.html 一.各种编码绕过1. ? 1 2 ?id=1 union select pass from admin limit 1 ?id=1%20%75%6e%69%6f%6e%20%73%65%6c%65%63%74%20%70%61%73%73%20%66%72%6f%6d%20%61%64%6d%69%6e%20%6c%69%6d%69%74%20%31 2.encoding编码‘e’ => ‘%u0065′, /…
0x01 前言 目前市场上的WAF主要有以下几类 1. 以安全狗为代表的基于软件WAF 2. 百度加速乐.安全宝等部署在云端的WAF 3. 硬件WAF WAF的检测主要有三个阶段,我画了一张图进行说明 本文主要总结的就是针对上面的三个阶段的绕过策略.小菜一枚,欢迎拍砖. 0x02 WAF身份认证阶段的绕过 WAF是有一个白名单的,在白名单内的客户请求将不做检测 (1)伪造搜索引擎 早些版本的安全狗是有这个漏洞的,就是把User-Agent修改为搜索引擎,便可以绕过,进行sql注入等攻击,论坛bl…
Checkin .user.ini构成php后门利用,设置auto_prepend_file=01.jpg,自动在文件前包含了01.jpg,利用.user.ini和图片马实现文件包含+图片马的利用. 而.htacess构造后门是通过上传.htaccess设置AddType application/x-httpd-php .jpg,将jpg文件作为php解析,getshell 补上脚本: 修改下与easyphp中的可以通用 import requests import base64 url = "…
目录 HTTP报文包体的解析 Transfer-Encoding Charset 溢量数据 HTTP协议兼容性 HTTP请求行种的空格 HTTP 0.9+Pipelining Websocket.HTTP/2.0 高层数据 base64 Unicode JSON 实体编码 XML 八进制 同形字 容器语言特性 匹配缓冲区大小固定 白名单 输出角度 OOB Range 其他参考 传输层 SSL层 DOS 结语 本文主要从绕过WAF过程中需要注意的角色和点出发,尝试理解它们的运作,构建一个简单的知识…
前言 本文以最新版安全狗为例,总结一下我个人掌握的一些绕过WAF进行常见WEB漏洞利用的方法. PS:本文仅用于技术研究与讨论,严禁用于任何非法用途,违者后果自负,作者与平台不承担任何责任 PPS:本文首发于freebuf (https://www.freebuf.com/articles/web/254513.html ) 测试环境 PHPStudy(PHP5.4.45+Apache+MySQL5.5.53)+最新版安全狗(4.0.28330) 靶场使用DVWA:http://www.dvwa…
57节介绍了字节流, 58节介绍了字符流,它们都是以流的方式读写文件,流的方式有几个限制: 要么读,要么写,不能同时读和写 不能随机读写,只能从头读到尾,且不能重复读,虽然通过缓冲可以实现部分重读,但是有限制 Java中还有一个类RandomAccessFile,它没有这两个限制,既可以读,也可以写,还可以随机读写,它是一个更接近于操作系统API的封装类. 本节,我们介绍就来介绍这个类,同时,我们介绍它的一个应用,实现一个简单的键值对数据库,怎么实现数据库呢?我们先来看RandomAccessF…
Atitit. 破解  拦截 绕过 网站 手机 短信 验证码  方式 v2 attilax 总结 1. 验证码的前世今生11.1. 第一代验证码 图片验证码11.2. 第二代验证码  用户操作 ,比如要求拖动等21.3. 第三代验证码 手机验证码 短信验证码22. 短信验证码的原理23. 常用破解法23.1. 漏洞绕过法23.2. 手机 软件转发法23.3. 手机api法33.4. 默认万能密码法 测试维护万能验证码33.5. 网站服务器短信发出截获33.6. 配置文件法33.7. 前端源码截获…
Java Struts2 POI创建Excel文件并实现文件下载2013-09-04 18:53 6059人阅读 评论(1) 收藏 举报 分类: Java EE(49) Struts(6) 版权声明:本文为博主原创文章,未经博主允许不得转载.在做管理系统的时候,经常会用到文件的下载,特别是Excel报表的创建与下载,下面就来简单演示一下,Struts2实现的Excel文件的下载功能.由于本实验是要动态创建Excel文件,因此需要一些jar:Java读写Excel的包是Apache POI(项目地…
软件安装的实质就是拷贝,对于简单的打包当然不需要考虑修改某(配置)文件.通过inno修改文件的目的在于把安装时相关信息写入文件中,提供其它应用的读取,而这些信息也只能在安装时才能确定,比如安装用户选择的安装目录,或者是通过自定义界面输入的端口号等信息.所以其它与安装无关的信息可以尽量不要使用inno来写入文件,这样只是在增加工作量. Inno修改文件内容的方式有很多.我自己总结的有以下三种方式:通过[INI]段来直接写入配置信息,调用外部程序来读写文件,使用内置读写文件函数来修改文件. 1.[I…
1.流的简述及演示案例输入流和输出流相对于内存设备而言.将外设中的数据读取到内存中:输入将内存的数写入到外设中:输出.字符流的由来:其实就是:字节流读取文字字节数据后,不直接操作而是先查指定的编码表.获取对应的文字.在对这个文字进行操作.简单说:字节流+编码表字节流的两个顶层父类:1,InputStream 2,OutputStream.字符流的两个顶层父类:1,Reader 2,Writer String filePath = "F:\\demo.txt"; FileWriter f…