eval & exec知识点记录--原文章phithon,只是记录一下我自己的学习过程. 1.eval & exec if(strlen($param)<17 && stripos($param,'eval') === false && stripos($param,'assert') === false) { //echo $param; eval($param); } 访问URL:http://demo.com:8080/2.7/1.php?par…
eval(str [,globals [,locals ]])函数将字符串str当成有效Python表达式来求值,并返回计算结果. 同样地, exec语句将字符串str当成有效Python代码来执行.提供给exec的代码的名称空间和exec语句的名称空间相同. 最后,execfile(filename [,globals [,locals ]])函数可以用来执行一个文件,看下面的例子: >>> eval('3+4')7>>> exec 'a=100'>>&g…
bash,bg,bind,break,builtin,caller,compgen, complete,compopt,continue,declare,dirs,disown,enable,eval,exec,expo…
eval(str [,globals [,locals ]])函数将字符串str当成有效Python表达式来求值,并返回计算结果. 同样地, exec语句将字符串str当成有效Python代码来执行.提供给exec的代码的名称空间和exec语句的名称空间相同. 最后,execfile(filename [,globals [,locals ]])函数可以用来执行一个文件,看下面的例子: >>> eval('3+4') 7 >>> exec 'a=100' >>…
#将字符串,编译成python代码 compile()#执行,有返回值,执行表达式并获取结果 eval()#执行python代码,无返回值,接收:代码或者字符串 exec() s = "print(1234)"#编译,第三个参数single,eval,exec这三种的取值#将字符串编译成python代码 r = compile(s, "<string>", "exec")//第二个参数还可为文件名#执行python代码 exec(r)…
eval与exec内置方法 将字符串作为执行目标,得到响应结果 eval常用作类型转换:该函数执行完有返回值 exec拥有执行更复杂的字符串:可以形成名称空间 eval内置函数的使用场景:   1.执行字符串会得到相应的执行结果   2.一般用于类型转化,得到dict.list.tuple等 dic_str = "{'a': 1, 'b': 2, 'c': 3}" print(eval(dic_str)) list_str = "[1, 2, 3, 4, 5]" p…
先来概要一下学习思路: 本系列内容,将针对微信小程序中的WXSS学习,所以在学习CSS时每一个知识点都在小程序IDE中进行实践,达到最好的学习效果. 由于wxss与CSS有些许不同,在学习CSS过程中我们因尽力避免,在wxss中没有的属性花费太多时间. 接触display属性: 它是CSS中最重要的属性 每个元素都有默认的display值 对于大多数元素它们的默认值是block与inline. block被叫做块级元素,inline被叫做行内元素. block块级元素:它会尽可能撑满容器的左右边…
eval:计算字符串中的表达式 exec:执行字符串中的语句 execfile:用来执行一个文件 在python 2中exec是语句,在python3中exec变为函数,后面要跟括号.在python3中取消了execfile语句,可以通过 with open('test1.py','r') as f:     exec(f.read()) 语句实现execfile语句. eval可以直接将字符串转成list tuple 字典.但是如果字符串内的句子为执行语句,如“__import__('os')…
1. eval函数 函数的作用: 计算指定表达式的值.也就是说它要执行的Python代码只能是单个运算表达式(注意eval不支持任意形式的赋值操作),而不能是复杂的代码逻辑,这一点和lambda表达式比较相似. 函数定义: eval(expression, globals=None, locals=None) 参数说明: expression:必选参数,可以是字符串,也可以是一个任意的code对象实例(可以通过compile函数创建).如果它是一个字符串,它会被当作一个(使用globals和lo…
在个人空间的我的收藏中可编辑视频收藏的名称,之后尝试写入标签. http://space.bilibili.com/ 发现输出到前端的尖括号被转义了,不过出现了一个json接口,他的Content-Type是html,打开看下内容 http://space.bilibili.com/ajax/fav/getBoxList?mid=4926267 发现尖括号起作用了,这个xss在space域下,看下bilibili的cookie在这个域下起不起作用 B站的cookie都在.bilibili.com…
eval(str) 函数:将字符串 str 当成有效的表达式来求值并返回计算结果常见作用:1,计算字符串中有效的表达式,并返回结果In [55]: eval('pow(10,2)') # 函数Out[55]: 100In [57]: eval('10 ** 2') # 表达式Out[57]: 1002,将字符串中是 list,tuple,dict 对象的转成相应的对象3,repr (以字符串的方式获取对象的内容,类型,数值属性等信息) 得到的字符串通常可以用 eval 重新获得改对象 exec(…
divmod(a, b) 函数接收两个数字类型(非复数)参数,返回一个包含商和余数的元组(a // b, a % b) id() 函数用于获取对象的内存地址. sorted(iterable, key=None, reverse=False) iterable -- 可迭代对象.key -- 用来进行比较的元素,具体的参数取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序. reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)…
eval # cat test.sh echo \$$# eval "echo \$$#" # sh test.sh a b c $3 c shell的内建命令exec将并不启动新的shell,常用来替代当前 shell 并重新启动一个 shell,换句话说,并没有启动子 shell.使用这一命令时任何现有环境都将会被清除. #cat test1.sh #!/bin/bash a=1 exec sh test2.sh echo $a #执行exec后不会执行这一句. #cat test…
https://www.qcloud.com/community/article/222 宋增宽,腾讯工程师,16年毕业加入腾讯,从事海量服务后台设计与研发工作,现在负责QQ群后台等项目,喜欢研究技术,并思考技术演变,专注于高并发业务架构的设计与性能优化.下半年利用空余时间研究和分析了部分Redis源码,本文从网络模型.数据结构和内存管理.持久化和多机协作四个角度对redis的设计思路进行了分析,若有不正确之处,希望各路大神指出. Redis是业界普遍应用的缓存组件,研究一个组件框架,最直观的办…
版权声明:本文由宋增宽原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/222 来源:腾云阁 https://www.qcloud.com/community 宋增宽,腾讯工程师,16年毕业加入腾讯,从事海量服务后台设计与研发工作,现在负责QQ群后台等项目,喜欢研究技术,并思考技术演变,专注于高并发业务架构的设计与性能优化. 下半年利用空余时间研究和分析了部分Redis源码,本文从网络模型.数据结构和内存管理.持久化和多机…
compile 编译某段代码, (将一个字符串编译为字节代码), 以方便重复调用. exec 可以理解为和if, for一样是一个语法声明, 而不是一个函数. 注意globals和locals的含义. refer to: http://www.cnblogs.com/yyds/p/6276746.html…
1.计算字符串长度有哪些方法? 答:strlen()   和  mb_strlen() 2.两者有什么区别 答: 如下代码 <?php $str = 'hello中国'; ?> strlen($str)计算的是字节的长度,在utf8下一个汉字代表3个字符,算出来是11  在GB2312和GBK下是2个字符,算出来是9 mb_strlen()计算的是字符长度 mb_strlen($str,[GBK|GB2312|utf8])   这里"|"是或的意思,就是mb_strlen(…
Length of Last Word  Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the length of last word in the string. If the last word does not exist, return 0. Note: A word is defined as a character sequence cons…
eval:计算字符串中的表达式exec:执行字符串中的语句execfile:用来执行一个文件 需注意的是,exec是一个语句,而eval()和execfile()则是内建built-in函数. 1 2 3 4 5 6 7 8 Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits…
表面上看.在windows中. 假设是a进程创建了b进程,那么a进程就是b进程的父进程.反之,假设是b创建了a,那么b进程就是a的父进程,这是在windows出现以来一直是程序员们都证实的,可是在在win Vista后面有了一个新安全消息机制.UAC(user account control),这里科普下UAC的功能,事实上UAC就是大家常见的安装软件或者启动程序的时候的出现的全屏变暗的一个提示框,这里顺便提醒下大家不要把它的提醒级别减少.这里大家不要蓄意把他的提示级别较低.这样会带来非常大的安…
exec 不是表达式: python 2. x, 中的一个语句和 python 3. x. 中的一个函数它编译并立即计算一个字符串中包含的语句或者语句集. 例如: exec('print(5)') # prints 5. # exec 'print 5' if you use Python 2.x, nor the exec neither the print is a function there exec('print(5)\nprint(6)') # prints 5{newline}6.…
funcname = "func" func = "def %s():\n" % funcname funccontent = 'print "hello,world"' func += funccontent evalcode = compile(func, '', 'eval') exec (evalcode) eval("%s" % funcname) 执行后编译错误: eval_code = compile(func,…
一.set 查看set 帮助: bash -c "help set" 选项: -e:任何命令执行失败(非0 status)直接退出 -x: 打印执行过程的命令行.参数 +e:命令执行失败不会中断退出 +x:不打印执行过程的命令行.参数 二.seq seq: 打印数字序列 用法:seq first [incr] last NAME seq -- print sequences of numbers SYNOPSIS seq [-w] [-f format] [-s string] [-t…
字符串类型代码:eval.exec.compile eval()  执⾏字符串类型的代码,并返回最终结果 print(eval("2+2")) # 4 n=8 def func(): print(666) eval( # 简易计算器 code = input("请输入你要执行的代码:") ret = eval(code) print(ret) >>>请输入你要执行的代码:1+2 + 3 >>>6 # 把字符串类型的代码还原回字典,…
Python中eval,exec这两个函数有着相似的输入参数类型和执行功能,因此在用法上经常出现混淆,以至经常用错,程序易抛出错误.下面主要通过这两个函数的语法来阐述区别,并用例子来进一步说明. 首先看下官方文档对这两个函数的说明: (1)eval(expr, globals=None, locals=None, /) Evaluate the given expr in the context of globals and locals. This call returns the expr…
[原文:https://mp.weixin.qq.com/s/8NUvPqEzVjO3XbmCBukUvQ] 绕过CDN的思路 网上有很多绕过CDN的思路,但是存在很多问题,以下是收集并总结的思路.站在站长的角度,不可能每个站都会用上CDN.站在DNS服务商的角度,历史解析记录可能不受CDN服务商控制.站在CDN服务商的角度,提供CDN服务的区域有限制,CDN流量有限制. DNS历史解析 https://dnshistory.org/http://whoisrequest.com/history…
本位原创作者:Smity 在介绍命令注入之前,有一点需要注意:命令注入与远程代码执行不同.他们的区别在于,远程代码执行实际上是调用服务器网站代码进行执行,而命令注入则是调用操作系统命令进行执行. 作为CTF最基础的操作,命令执行的学习主要是为了以后进一步使用webshell打下基础 同样的,今天还会介绍如何使用各种命令执行绕过的方式 首先我们先来看代码执行 动态调用: 这个地方是ctf曾经的一个考点,也是我在强网杯出过的一道题目,叫"高明的黑客",里面使用的就是混淆代码+动态函数调用,…
pickle与序列化和反序列化 官方文档 模块 pickle 实现了对一个 Python 对象结构的二进制序列化和反序列化. "pickling" 是将 Python 对象及其所拥有的层次结构转化为一个字节流的过程,而 "unpickling" 是相反的操作,会将(来自一个 binary file 或者 bytes-like object 的)字节流转化回一个对象层次结构. pickling(和 unpickling)也被称为"序列化", &qu…
大多数来自p牛 SQL注入(left join) 源代码 <?php $link = mysqli_connect('localhost', 'root', 'root'); mysqli_select_db($link, 'code'); $table = addslashes($_GET['table']); $sql = "UPDATE `{$table}` SET `username`='admin' WHERE id=1"; if(!mysqli_query($link…
转载 https://whoamianony.top/2021/03/13/Web安全/Bypass Disable_functions/ https://www.mi1k7ea.com/2019/06/02/浅谈几种Bypass-disable-functions的方法/#0x07-利用imap-open-绕过 https://www.anquanke.com/post/id/208451#h2-10 https://github.com/AntSwordProject/AntSword-La…