Kingkk's Blog.

Kingkk's Blog.

Web dog一枚/渴望挖洞补贴家用

apache配置多站点
由于最近需要搭建一个自己的xss平台,想用一个xss.kingkk.com的子域名,由于之前自己也一直好奇,是怎么把一个服务器下的不同站点指向不同的域名。今天就花了一个下午的时间去弄了下这件事,顺便记录下。 找到域名解析这里 点击进去之后添加解析,主机记录填写自己想分配的子域名,记录值处填写你的ip地址 接下来,连上自己的云服务器,我的是lamp的环境,所以找到/alidata/server/httpd-2.4.10/conf/vhosts 这个路径下,新建一个xxx.conf文件,写入如下代码(由于格式话不了,只能放截图,懒得敲字的可以直接下载,然后改下后缀即可)ServerN...
进入期末准备
这学期真的是过的好快呀,刚刚意识到马上就要2018年了,在实验室的学习可能要先放缓下脚步,去准备准备万恶的期末考,毕竟这学期好几门都没认真听,不好好考前准备一下,真的怕挂科呀。然后之前的sql注入练习,就先做到38为止,后期的话有机会再来做。期末这段时间,打算重新读一下《白帽子讲web安全》这本书,因为本来之前是想去看《黑客攻防宝典-web实战篇》这本书的,但翻了几页发现好像还是有些晦涩,可能知识层面还没到那一块吧。后来再去翻了下之前暑假看过的白帽子这本书,决定还是重读一下这本书。毕竟之前暑假刚刚入门,很多东西都还不是很懂,就只是匆匆把这本书过了一遍。现在看了下,感觉当年真的没怎么理解这...
sqli-labs练习(less23-38)
less-23常规的单引号测试,出错 然后用#闭合,好像不行。。。编码一下。。好像也不行。。。试一下–+。。怎么还是不行。。。 查看源码之后发现,把注释符都改为空了,而不难发现之前的报错语句都是一样的 于是可以用 or ‘1’=’1闭合 这个没问题,可是好像获取不到数据。。于是得换一种注释方式(要提前测试字段数) 然后就可以开始提取数据了 还发现一种注入姿势,好像再多用一个单引号把后面引起来也可以,这样也可以执行 因为这里后面的语句是limit 0,1 对返回也没什么影响,所以是可以那么做 less-24一个完整的登录、修改、创建用户的网站 还是去审计下代码把。发...
sqli-labs练习(less11-22)
之前less1-10的主要通过get注入,less11-20几乎通过POST注入 less-11先检测出是post方式提交的数据(最简单的方法就看有没有增加参数嘛) 然后可以通过抓包或者审查元素的方式获取到post的参数,如下三个 uname=1 passwd=1 submit=Submit 然后就可以去构造然后去post发包啦 首先在uname字段构造个万能密码,然后通过#注释后面的内容 或者也可以尝试闭合后面的引号 可以看到,登录失败了,原因在于or语句之后还有一句and语句,因为并没有password=1这个字段,所以该语句为假,返回为空。 至于网上说的and优先级比or高...
sqli-labs练习(less1-10)
为了学习的便利性,我在一些文件中都出了sql语句 less-1先理清一下注入动机:目的是为了获取账号密码,于是得获取对应的表名、字段名、数据库名,并得绕过一些设定,从而获取你想要的数据库中的数据。 自己做个一个注入流程: 接下来开始注入: 输入单引号,引起错误,说明存在注入点 通过#将后面引号注释掉(此处直接打#并没有进行编码,要自己编码为%23),成功注释了后面的单引号 通过order by 确认行数为 3 然后继续利用union select 1,2,3,发现并没有返回1,2,3这几个数字 究其原因,因为代码中仅仅mysql_fetch_array了一次,所以只能返回第一...
Python 用Queue/queue模块来实现多线程间通信
使用Queue模块(2.x版本,3.x版本中重命名为queue),通过创建一个队列来提供线程间通信的机制,从而让线程之间可以互相分享数据。 先列举一下Queue模块中的一些属性 Queue/queue模块的类 Queue(maxsize=0) 创建一个先入先出队列。若指定maxsize,则在队列满时阻塞;否则则为无限队列 LifoQueue(maxsize=0) 创建一个后入先出队列(个人感觉更应该叫堆栈>_<)。若制定maxsize,则在队列满时阻塞,否则为无限队列 PriorityQueue(maxsize=0) 创建一个优先级队列。若指定maxsize,则在队列满时阻塞...
Python 多线程之同步原语--锁与信号量简介
锁- 先介绍一下锁引入的原因以及锁的主要是为了结尾哪一类的问题。先看如下的试例: #encoding=utf8from atexit import registerfrom random import randrangefrom threading import Thread, currentThreadfrom time import sleep, ctime class CleanOutputSet(set): #重载了__str__方法的set def __str__(self): return ‘,’.join(x for x in self) loops =...
Python threading模块中Thread类简介
Thread类threading中的Thread类是主要的执行对象。有如下的对象属性以及方法。 Thread 对象数据属性 name 线程名 ident 线程的标识符 daemon bool标识,表示该线程是否为守护线程 Thread 对象方法 __init__(self, group=None, target=None, name=None, args=(), kwargs=None, verbose=None) 实例化一个线程对象,主要参数为,target一个函数式,以及args 函数的参数 start() 开始执行该线程 run() 定义线程的功能(主要用...
Python之thread模块简介
由于thread模块的局限性,以及如今以及普遍使用功能更加强大的threading模块替代thread模块进行多线程操作,所以就在此对thread模块进行简单的介绍,作为学习的记录。 thread 模块的函数 start_new_thread(function, args[, kwargs]) 派生一个新的线程,并使用元组传递指定的参数来执行function函数 allocate_lock() 分配LockkType锁对象 exit() 给线程退出指令 LockType锁对象的方法 acquire(wait=None) 尝试获取锁对象,通俗的讲法为“将锁锁上” locked() 如果获...
Python之re模块方法
match() match(pattern, string, flags=0)match对字符串进行正则匹配,匹配成功返回一个匹配对象,匹配失败,返回None 匹配成功时: In [14]: m = re.match(‘foo’,’foo’)In [15]: m Out[15]: <_sre.SRE_Match at 0x6bd8870> In [16]: if m is not None:print m.group() foo 匹配失败: In [5]: m = re.match(‘foo’,’seafoo’) In [7]: m is NoneOut[7]: True ...
kingkk
witness me
FRIENDS
mt FAtwAER