近日在审计某 CMS 时,发现一处反序列化任意写入文件的操作。其中的场景蛮有意思的,将其简化抽取出来做个 CTF 的题目丢给学弟(比较简单),在此做个记录。
最开始电脑的字符集是ASCII,英文在ASCII中每个字母占1个字节,但ASCII不支持中文,所以后来出现了Unicode;
python2不是以unicode作为基本代码字符类型,碰到乱码的几率是远远高于python3,但即便如此,相信很多人,也不想随意的迁移到python3,这里就总结几个我平常碰到的问题及解法。 文件中无法使用中文注释 处理方法: 在代码中增加# -*- coding=UTF-8 -*-,一般加在文件头部第一行,如果第一行是脚本标志,则放在第二行(实际仍然是python正本的第一行)。 随后将文件另存为UTF-8格式。 此方法可以解决注释中有中文,及字符串立即数中包含中文的问题。 unicode中文变
我们准备两个目标网站:第一个是网页编码格式为utf8的百度https://www.baidu.com/,如何查看目标网站的编码格式呢?只需要查看查看网页源代码就可以了,如图:
论坛原始地址(持续更新):http://www.armbbs.cn/forum.php?mod=viewthread&tid=99514 第8章 ThreadX调试方法(串口和RTT两种方式打印任
爬虫里面,我们不可避免的要用urllib中的urlopen()和requests.get()方法去请求或获取一个网页的内容,这里面的区别在于urlopen打开URL网址,url参数可以是一个字符串url或者是一个Request对象,返回的是http.client.HTTPResponse对象.http.client.HTTPResponse对象大概包括read()、readinto()、getheader()、getheaders()、fileno()、msg、version、status、reason、debuglevel和closed函数,其实一般而言使用read()函数后还需要decode()函数,返回的网页内容实际上是没有被解码或的,在read()得到内容后通过指定decode()函数参数,可以使用对应的解码方式。
使用它可以简单快速的使用php操作各种数据库,并且提高安全性,防止sql注入。他是开源的,免费的,所以任何人都可以去使用它。wordpress使用的就是ezsql,怎么样相信不用我说了。
因为工作的需要,接触了websocket,开始的一些很简单的代码,都不知道该怎样运行起来,所以,总是有一层神秘感,却没有太多的兴趣去研究它。不过,还是免不了要了解一些才不至于对于后续的工作有影响。从塌下心来学习,到最后完成编码测试,不超过一周,遇到了很多问题,万幸,通过自己的思考和师傅们帮忙都解决了。 关于go与websocket编程,github上有很多开源的源码,比如https://github.com/garyburd/go-websocket。我发现,现在网上流传的关于go 的webs
wordpress中the_permalink()是用于posts loop循环中(判断是否有文章,如果有文章则展示出来;如果没有文章就显示没有文章),常用于文章分类列表和文章页的模板中,用法如下
在go语言中,字符串是一种基本类型,和其它开发语言不同,go的字符串是由单个字节连接起来的。go语言统一使用utf-8编码标识Unicode文本。当字符为ASCII编码时,占用1个字节,其它字符占用2到4个字节,中文占用3个字节
全局变量如何用? 看图中的箭头的地方,声明全局变量的时候使用了static,这个问题就涉及到了static的使用,如果要使用全局变量,并且在多文件中使用,那么在声明的时候就不能使用static去声明。
如果说仅为了做出题目拿到flag,这个题目太简单,后台也有数十名选手提交了答案和writeup。但深入研究一下这两个知识点,还是很有意思的。
在Python2.X及Python3有时经常碰到各种中文乱码的情况,这里整理了相关各种情况汇总。
Pwnhub公开赛出了个简单的PHP代码审计题目,考点有两个: 如果说仅为了做出题目拿到flag,这个题目太简单,后台也有数十名选手提交了答案和writeup。但深入研究一下这两个知识点,还是很有意思的。 #0x01 phpjiami 代码分析破解法 这种方法我最佩服了,作者甚至给出了解密脚本,文章如下:http://sec2hack.com/web/phpjiami-decode.html 我自己在出题目之前也进行过分析,但后面并没有耐心写一个完整的脚本出来,所以我十分佩服这个作者。 我们分析phpjia
最新教程下载:http://www.armbbs.cn/forum.php?mod=viewthread&tid=95243 第9章 RL-TCPnet调试方法(Event Recorder和串口
import requests#插入请求模块 from bs4 import BeautifulSoup#从BS4导入BeautifulSoup import os#插入os模块用于文件处理 def reqbs(url):#创建一个请求Response的函数 res = requests.get(url) # 利用requests获取网页的Rreponse res.encoding = 'utf-8' # 改变网页的编码方式为utf-8,不然会乱码 soup = Beautif
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)
我们需要 pywin32 库,没有的话可以看下安装教程。 pywin32库安装教程
0x00 背景 在看CNVD漏洞库的时候发现有师傅发了某cms前台SQL注入漏洞,通过查阅漏洞描述可知道存在问题的参数是cardpwd,便开始尝试对该版本的cms进行审计。 源码下载地址:https
本来打算把http发送请求的get和post方法都介绍一下的,结果发现篇幅有点长,文本编辑也变得混乱,所以这里先介绍一下get方法,下一次再post。其实这些方法大家可以看一下源码里面的介绍只需要在代
说道底以上这些问题都是兼容问题,我们可以另存为pdf格式,这样有几点好处: 1.几乎所有电脑都可以打开pdf,打印店更是没问题。word还好,如果是少见的像CAD的,其它电脑如果没安装就打不开。 2.不存在兼容问题,你保存时什么样,到其它电脑打开就是什么样子的。如果是word,在其它电脑打开,经常会变了样子,就是因为字体可能没有,或者docx与doc问题,还有wps与office兼容问题等等。 3.保存时另存为pdf格式就好了
对于下面的nginx日志access.log,用脚本分析出访问ip的Top 10。 其实这个题不难,但是考察了几个常用的shell 命令,awk、uniq、sort、head,我觉得对于做大数据开发、运维、数仓等来说都是应该必备的。
(下载过程中不要切换窗口,不要做其他任何操作,否则会中断下载,下载时间略长,耐心等待)
我们在idea中刚开始运行Tomcat时,会发现日志打印出来的是乱码的,这个问题理论上不需要去理会,我们一般都不去看,但是也有人会受不了,那么我们就去修改一下这个日志输出的编码即可
在前端开发中,除了将数据呈现后,我们往往需要为用户提供,打印,导出等能力,导出是为了存档或是二次分析,而打印则因为很多单据需要打印出来作为主要的单据来进行下一环节的票据支撑, 而前端打印可以说是非常令人头疼的一件事。
#将程序中的数据可以分别以二进制和字符串的形式存储到文件中 #首先引用pickle和json模块,实际应用中只需要引用一个就行
日常我们开发时,我们会遇到各种各样的奇奇怪怪的问题(踩坑o(╯□╰)o),这个常见问题系列就是我日常遇到的一些问题的记录文章系列,这里整理汇总后分享给大家,让其还在深坑中的小伙伴有绳索能爬出来。 同时在这里也欢迎大家把自己遇到的问题留言或私信给我,我看看其能否给大家解决。
首先拿到图片,扫码尝试一波,发现没有什么异常结果。那么接下来用binwalk扫一下,发现末尾有zip包,提取出来,发现有3个文件,但是7z打开发现只显示了1个文件,那么应该是有伪加密存在的。一个个修改50 4B 01 02后面的加密位,最后发现只有图片能正常打开。观察这张图片,看起来就是在原图的基础上进行了涂改,那么和原图进行xor分析,得到这样一张图:
0x01 背景 团队大佬在做PHP代码审计的时候发现PHP代码是被混淆过的。虽然可以通过自己手动解密可以还原原先的PHP代码,但是混淆过程比较复杂且自己写脚本还原非常麻烦。所以,我这边通过PHP底层的操作对混淆后的PHP代码进行还原。 0x02 PHP代码混淆原理 PHP代码混淆一般来说有两种方法: 需要PHP扩展 无需PHP扩展 本文我们主要讲解无需PHP扩展的代码混淆的解密。大多数的无需扩展的php代码混淆原理上都是使用eval进行代码的执行。如果我们能够得到eval函数的参数,即可获得解密后的代码
首先确保安装node,下载地址 node.js下载地址 还是下长期维护版本的比较好,建议不要下载新版本,此案例,针对windows下的哈
mock数据用过的人一定不陌生,他的好处也是层出不穷,比如下面就是一段对mockjs很好的描述:
这个网上有很多人说过,就是进入setting中,将file encoding中的encoding选项都选为 utf-8 选项
encode:字符编码 decode:字符解码 有些文档可能采用的是某种编码方式(如utf-8)来存储文本,但如果我们展现的工具是另外一种编码方式(如gb2312),若我们不做些转码的工作,我相信你在此工具中显示的将会是乱码. 因为,我们的文本采用utf-8方式来存储的,那么它存储在硬盘或者内存的字节是以utf-8规定来存储的,而gb2312是另外一种存储规定,所以使用gb2312的工具无法正确读取,此时需要我们将utf-8存储转变为gb2312存储,故我们需要先用decode('utf-8')来解码,再将encode('gb2312')来编码,这样,我们的工具便可以正确显示内容了. 如代码: #!/usr/bin/env python #coding=utf8 print "中国".decode('utf-8').encode('gb2312') 首先,“中国”这个字符串是以utf-8存储的,我们要在crt上打印出来,此时的crt是以gb2312编码的,那么我们需要将"中国"这个存储编码方式更改为crt软件编码一样的,方可以在crt正确显示。 类似的,还有我们从数据库里读出的数据,可能是一种编码,我们需要展示的平台是另一种编码,这时候我们就需要进行这方面的转换,以确保能正确打印文本.
所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
(adsbygoogle = window.adsbygoogle || []).push({});
Laravel 自带了一个功能强大的 REPL —— Tinker,所谓 REPL,是 Read–Eval–Print-Loop 的缩写,这是一种交互式 Shell:获取用户输入并执行它们,然后将结果打印出来返回给用户。
字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。
所以在程序开发或者上线后如果出现了 Bug,能够及时查看日志,对修复 Bug 非常有帮助。
前言 python2最大的坑在于中文编码问题,遇到中文报错首先加u,再各种encode、decode。 当list、tuple、dict里面有中文时,打印出来的是Unicode编码,这个是无解的。 对中文编码纠结的建议尽快换python3吧,python2且用且珍惜! 一、csv中文乱码 1.open打开csv文件,用writer写入带有中文的数据时 - writer写入单行 - writers写入多行 ``` # coding:utf-8 import csv f = open("xieru.
近期我们遇到了一位客户提出的问题:MySQL 建表时,数据库表定义的字符集是 latin1,里面的数据是以 GBK 编码的方式写入的。当 Flink 的 JDBC Connector 在读取此维表时,输出数据的中文出现了乱码现象,如下图:
要说熟悉我肯定是VSCode最熟悉了,但是也想用别的。SI有点丑,这里就试试Understand。
本文介绍了Python2写入CSV文件时中文乱码问题的原因、解决方案和具体操作步骤。首先介绍了CSV文件中中文乱码问题的原因,然后给出了两种解决方案。在方案一中,介绍了如何对字符串进行编码处理。在方案二中,介绍了如何使用codecs库的open方法来指定打开文件的语言编码,从而解决中文乱码问题。
领取专属 10元无门槛券
手把手带您无忧上云