├── .github
└── ISSUE_TEMPLATE
│ ├── bug_report.md
│ ├── custom.md
│ └── feature_request.md
├── README.md
└── README_CN.md
/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug report
3 | about: Create a report to help us improve
4 |
5 | ---
6 |
7 | **Describe the bug**
8 | A clear and concise description of what the bug is.
9 |
10 | **To Reproduce**
11 | Steps to reproduce the behavior:
12 | 1. Go to '...'
13 | 2. Click on '....'
14 | 3. Scroll down to '....'
15 | 4. See error
16 |
17 | **Expected behavior**
18 | A clear and concise description of what you expected to happen.
19 |
20 | **Screenshots**
21 | If applicable, add screenshots to help explain your problem.
22 |
23 | **Desktop (please complete the following information):**
24 | - OS: [e.g. iOS]
25 | - Browser [e.g. chrome, safari]
26 | - Version [e.g. 22]
27 |
28 | **Smartphone (please complete the following information):**
29 | - Device: [e.g. iPhone6]
30 | - OS: [e.g. iOS8.1]
31 | - Browser [e.g. stock browser, safari]
32 | - Version [e.g. 22]
33 |
34 | **Additional context**
35 | Add any other context about the problem here.
36 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/custom.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Custom issue template
3 | about: Describe this issue template's purpose here.
4 |
5 | ---
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest an idea for this project
4 |
5 | ---
6 |
7 | **Is your feature request related to a problem? Please describe.**
8 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
9 |
10 | **Describe the solution you'd like**
11 | A clear and concise description of what you want to happen.
12 |
13 | **Describe alternatives you've considered**
14 | A clear and concise description of any alternative solutions or features you've considered.
15 |
16 | **Additional context**
17 | Add any other context or screenshots about the feature request here.
18 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # web-sec-interview
2 |
3 | Information Security Industry Practitioners (Web Security / Penetration Testing) Interview Questions 1.1
4 |
5 | ### README English | [中文](README_CN.md)
6 |
7 | ---
8 |
9 | * Introduce the experience of burrowing (or CTF experience) that you think is interesting
10 |
11 | * What are the more vulnerabilities you usually use? The principle of related vulnerabilities? And a fix for the vulnerability?
12 |
13 | * What tools do you usually use and the characteristics of the corresponding tools?
14 |
15 | * How to do sql injection / upload Webshell if you encounter waf? Please write the process of bypassing WAF (SQLi, XSS, upload vulnerability)
16 |
17 | Refer to the following three
18 |
19 | My Way of WafBypass (SQL Injection)
20 | My Way of WafBypass (Upload)
21 | My Way of WafBypass (Misc)
22 |
23 | * Talk about the idea of lifting the rights of Windows system and Linux system?
24 |
25 | * List all high-risk vulnerabilities of open source components that you know (more than ten)
26 |
27 | * Describe a CVE or POC that you have studied in depth.
28 |
29 |
30 |
31 | * SQLi
32 | * How to judge sql injection, what are the methods?
33 | > Add single quotes, double quotes, order by, rlike, sleep, benchmark, operator, modify data type, error injection statement test
34 |
35 | * Introduce the cause of SQL injection vulnerabilities, how to prevent it? What are the injection methods? In addition to database data, what are the ways to use it?
36 |
37 | * The principle of wide character injection? How to use the wide character injection vulnerability, how to construct and repair the payload?
38 | > Popularly speaking, gbk, big5 and other codes account for two bytes. After the sql statement enters the backend, the single quotes are escaped. The escaped \ is %5C, and the current %xx and %5C can be combined into two. When the characters are in bytes, the subsequent single quotes can escape, resulting in injection. More common gbk, %df' =>
39 | %df%5c%27 => 运'. Already single quotes, the rest is almost the same as normal injection.
40 | > Fix the way by setting the MYSQL database character set utf8mb4, PHP character set utf-8.
41 |
42 | * You all know which sql pass skills
43 | > This is too much, a lot of online search. Mainly depends on the filtering and protection of the target site. Common bypass can be /**/ replace spaces, /*!00000union*/ is equal to union, or use front-end filtering, add angle brackets <>. Cases are too common. If you filter functions or keywords, you can try other equivalent functions that can achieve results. Keywords such as or 1=1 can be replaced with ||1, or with operators such as /, %. The same effect. In short, still look at the requirements.
44 |
45 |
46 | * How does sqlmap inject an injection point?
47 | > If it is get type, directly, sqlmap -u "injection point URL".
48 | >
49 | > If it is post type, you can sqlmap -u "injection point URL" -data="post parameter"
50 | >
51 | > If it is a cookie type, X-Forwarded-For, etc., when you can access it, use Burpsuite to capture the package, replace it with the * mark, put it in the file, and then sqlmap -r "file address"
52 |
53 | * mysql website injection, what is the difference between 5.0 and below?
54 | > Below 5.0, there is no information_schema system table, can not list names, etc., can only violently run table names.
55 | > 5.0 is multi-user single operation, 5.0 or more is multi-user and multi-operation.
56 |
57 | * mysql injection point, use the tool to write a sentence directly to the target station, what conditions are needed?
58 | > root permissions and the absolute path to the site.
59 |
60 | * There is a sql injection vulnerability in the following link. What ideas do you have for this variant injection?
61 | > demo.do?DATA=AjAxNg==
62 |
63 | * Found demo.jsp?uid=110 injection point, what kinds of ideas do you have to get webshell, which is the best?
64 |
65 | * Domain
66 | * Explain the same-origin policy
67 | > If the protocol of the two pages, the port and the domain name are the same, it can be considered to be homologous.
68 |
69 | * The same-origin strategy, those things are acquired by homology
70 | > read cookies, LocalStorage and IndexDB
71 | > read DOM elements
72 | > Send an AJAX request
73 | >
74 | * If the subdomain and the top-level domain have different sources, where can I set them to be homologous?
75 | > Probably the same subdomain, the main domain has different meanings, you can solve the cross-domain by setting document.domain in both rooms.
76 | * How to set up data that can be requested across domains? What does jsonp do?
77 | > When the primary domain is the same, cross-domain, you can set document.domain as above.
78 | >
79 | > When the primary domain is different, you can set up CORS on the server to make cross-domain requests through jsonp and websocket. H5 added the window.postMessage method to resolve cross-domain requests.
80 | >
81 | > Request json data via