草庐IT

【GKCTF 2020】ez三剑客

【GKCTF2020】ez三剑客收获gopher协议SSRF多利用github搜索已存在的函数漏洞CMS审计的一些方法1.ezweb打开题目给了一个输入框,能够向输入的url发送http请求。F12查看一下,发现hint:?secret,将其作为当前url的GET参数:直接给出了靶机的路由表,说明是一个SSRF。1.1file协议读源码file:///var/www/html/index.php失败,继续尝试:file:/var/www/html/index.php这两种方法是等效的,这下看到了index.php的内容:?phpfunctioncurl($url){$ch=curl_init(

Python中eval()函数的使用

今天给大家分享一下Python中的eval()函数,如果感觉博主的文章还不错的话,希望大家点赞支持一下博主文章目录eval()函数语法实例实例1实例2实例3eval()函数eval()函数用来执行一个字符串表达式,并返回表达式的值。语法eval(expression[,globals[,locals]])expression–表达式。globals–变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。locals–变量作用域,局部命名空间,如果被提供,可以是任何映射对象。返回值:返回表达式计算结果。实例我们在从键盘输入数据时,Python接收的是字符串类型,这时我们可以使用eval()

Redis EVAL-per-event 或 EVAL-all-events-at-once

如果你有大约50个事件/秒,每个事件都应该以事务方式处理(进行3次SADD操作),哪个更好:为每个事件运行一个Lua脚本(通过EVALSHA)?运行单个Lua脚本来迭代所有事件并立即更新它们?我的考虑:单个EVAL至少不会比EVAL-per-event慢。主要关注的是脚本执行时间。据我所知,它应该阻止所有Redis命名空间中的所有操作。但我想我不应该害怕在一个EVAL中进行150次SADD操作,对吧? 最佳答案 你最好用你的生产环境做一些基准测试,虽然我认为150个操作太多了,不能暂时阻塞Redis。事实上,您还有另一种选择:在pi

lua - 当我使用 --eval 选项从 redis 执行 lua 脚本时,无法将数据写入文件

在Lua脚本中,我正在进行一些redis调用,还想将一些文本数据写入文件。但是,当我使用“--eval”从redis执行此lua脚本时,它无法识别“io”或“require”库,因此无法执行。如果你能告诉我,当我从redis调用lua脚本时,是否有一种方法可以将数据写入lua中的文件。注意:我正在执行的命令:'/opt/redis/src/redis-cli-p6379--evaltest.lua'在test.lua中,它在行中失败:"file=io.open("output.txt","a")"它向我显示错误消息:脚本试图访问不存在的全局变量“io” 最佳

redis - '(错误)ERR 运行脚本时出错(调用 ...)' 对 LUA 脚本使用 --eval 时

运行此命令时出现错误消息:redis-cli--evalmyscript.luamyzset3"one"错误信息:(error)ERRErrorrunningscript(calltof_9c623c243d74e75a4fe64de7a6826b47f8d7d400):@user_script:1:@user_script:1:Luaredis()commandargumentsmustbestringsorintegersLua脚本:localans=redis.call('ZINCRBY',KEYS[1],ARGV[1],ARGV[2])iftonumber(ans)目标是使用Z

【pwn】ez_pz_hackover_2016 --pwngdb和pwntools的结合,动态调试

首先checksec没开nx,说明堆栈可执行,初步考虑需要shellcode,然后拖进ida看主函数逻辑看chall函数 printf("Yippie,letscrash:%p\n",s)这里泄露的s的地址,即栈上的地址这里的输入的s数组是不存在栈溢出的,这里的关键代码是这一段 result=(void*)strcmp(s,"crashme"); if(!result)  returnvuln((char)s,0x400u); returnresult;}strcmp(s,"crashme")说明字符串只能是crashme,不然放回值不会是0,也就进不去下面那个if语句,但是strcmp只会比

node.js - 执行 redis eval 命令以在 nodeJS 中运行 Lua 脚本

在Redis中,我通过CLI运行Lua脚本,如下所示:-$redis-cli--evaldebug_script.luakey1key2key3key4,arg1arg2因此,我的Lua脚本接受4个键和2个参数。现在我想在Node.js中运行相同的脚本。我正在使用this用于在我的应用中导入Redis的库。我没有找到任何示例来说明用于执行Lua脚本的redisClient.eval(...)函数的参数。因此,我只是随便打一些可能有用的东西。但似乎没有任何效果。我的app.js是这样的:varredis=require("redis")varclient=redis.createClie

redis - 关于带有 TTL 的键的 redis EVAL 原子性怎么样?

据我所知,从客户端的角度来看,redis是单线程解决方案。但是一般架构呢?有趣的是,我们有一些lua脚本可以在具有一些TTL的键上执行多个命令。Redis垃圾回收是如何工作的?它会中断EVAL执行并驱逐某些值或内部任务与用户任务共享单个线程吗? 最佳答案 Lua是majik,正因为如此,当Redis执行Lua时时间会停止。换句话说,一旦你开始运行脚本,过期就会停止,因为时间不会提前。但是,如果key在脚本启动前过期,脚本将无法使用它。 关于redis-关于带有TTL的键的redisEVA

mongodb - mongo find() 使用 eval 不产生输出

我正在尝试在mongodb集合中“查找所有”资源。我可以得到计数:mongoip:port/database1-ucorrectusername-pcorrectpassword--authenticationDatabaseadmin--eval"db.getCollection('collection_123').count()"但是当我尝试调整它时,mongoip:port/database1-ucorrectusername-pcorrectpassword--authenticationDatabaseadmin--eval"db.getCollection('collect

bash - 在 mongo eval 命令中使用 bash 变量插入数据

我不是专家,但我想做的就是运行命令行命令,从中获取数字,将它们放入数组中,然后使用eval将它们插入到mongo数据库中选项。#!/bin/bashresults="$(speedtest-cli--simple|grep-o'[0-9]*')"echo"${results[@]}"mongolocalhost:27017/ding--eval"db.lloll.insert({date:newDate(),resu:{ping:["${results[0]}","${results[1]}"],down:["${results[2]}","${results[3]}"],uplo:[